Skip to main content

PATCH Atualizar Procedimento

Atualiza os dados de um procedimento existente, incluindo o encaminhamento e a lista de fornecedores (que é sincronizada: cria, atualiza e remove conforme enviado).

Autenticação necessária

Esta rota requer o header Authorization: Bearer {accessToken}

ID no corpo

O id do procedimento vai no corpo da requisição, não na URL.


Endpoint

PATCH https://api-dev.imagemais.com.br/api/procedures

Corpo da Requisição

Todos os campos de Criar Procedimento são aceitos (opcionais na atualização), além de:

CampoTipoObrigatórioDescrição
idnumberID do procedimento (inteiro positivo)
referralIdnumberID do encaminhamento. Enviar null desvincula o referral
typeIdnumberID do tipo. Enviar null/0 desvincula o tipo
procedureSuppliersarrayNova lista de fornecedores — substitui a atual (sincronização completa)
Sincronização de fornecedores

A lista enviada em procedureSuppliers substitui a existente: fornecedores ausentes são removidos. Um fornecedor com exames vinculados não pode ser removido, retornando 400 Bad Request.


Requisição

curl -X 'PATCH' \
'https://api-dev.imagemais.com.br/api/procedures' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
-d '{
"id": 1,
"name": "HEMOGRAMA COMPLETO",
"price": 40.00,
"typeId": 2,
"procedureSuppliers": [
{ "supplierId": 3, "cost": 15.00, "estimate": 24, "code": "LAB-001" }
]
}'

Respostas

200 Sucesso

{
"id": 1,
"name": "HEMOGRAMA COMPLETO",
"price": "40",
"laudoLocal": false,
"typeId": 2,
"referralId": null,
"referral": null,
"procedureSuppliers": [
{
"id": 15,
"procedureId": 1,
"supplierId": 3,
"cost": "15",
"estimate": 24,
"code": "LAB-001",
"createdAt": "2026-01-10T12:00:00.000Z",
"updatedAt": "2026-01-15T14:14:36.758Z",
"deletedAt": null
}
]
}

400 Fornecedor com exames vinculados

{
"message": "Não é possível remover os seguintes fornecedores pois possuem exames vinculados: Laboratório Central",
"statusCode": 400
}

404 Não encontrado

{
"message": "Procedimento não encontrado",
"statusCode": 404
}