POST Criar Consulta
Cria uma nova consulta para um paciente.
Autenticação necessária
Esta rota requer o header Authorization: Bearer {accessToken}
Endpoint
POST https://api-dev.imagemais.com.br/api/consultations
Corpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
patientId | number | ✅ | ID do paciente |
consultationType | string (enum) | ✅ | "ONLINE" ou "PRESENCIAL" |
preConsultation | object | ❌ | Dados da pré-consulta |
preConsultation.bloodPressure | string | ❌ | Pressão arterial |
preConsultation.heartRate | string | ❌ | Frequência cardíaca |
preConsultation.temperature | string | ❌ | Temperatura |
preConsultation.weight | string | ❌ | Peso |
preConsultation.height | string | ❌ | Altura |
preConsultation.consultationReason | string | ❌ | Motivo da consulta |
preConsultation.glucose | string | ❌ | Glicose |
preConsultation.consultationType | string (enum) | ❌ | "ONLINE" ou "PRESENCIAL" |
preConsultationId | number | ❌ | ID de pré-consulta existente |
mainComplaint | string | ❌ | Queixa principal |
currentDiseaseHistory | string | ❌ | História da doença atual |
personalHistory | string | ❌ | Antecedentes pessoais |
physicalExam | string | ❌ | Exame físico |
medicalConduct | string | ❌ | Conduta médica |
cardiovascularDiseases | string | ❌ | Doenças cardiovasculares |
otherRelevantDiseases | string | ❌ | Outras doenças relevantes |
previousSurgeries | string | ❌ | Cirurgias anteriores |
familyHistory | string | ❌ | Antecedentes familiares |
medicationsUse | string | ❌ | Medicamentos em uso |
allergies | string | ❌ | Alergias |
lifestyleHabits | string | ❌ | Hábitos de vida |
primaryAndSecondaryDiagnosis | string | ❌ | Diagnósticos (CID) |
diagnosisReasoning | string | ❌ | Raciocínio da IA (achados confirmatórios e dados conflitantes) |
urgencyLevel | string | ❌ | Nível de urgência — Protocolo de Manchester |
prescribedMedications | string | ❌ | Medicamentos prescritos |
lifestyleAdvice | string | ❌ | Orientações de estilo de vida |
followUpExams | string | ❌ | Exames de acompanhamento |
referralsToSpecialists | string | ❌ | Encaminhamentos |
medicalCertificate | string | ❌ | Atestado médico |
declaration | string | ❌ | Declaração de comparecimento |
specialControlPrescription | string | ❌ | Receituário controle especial |
iaConclusion | string | ❌ | Conclusão da IA |
cardiologicalOpinionFileId | number | ❌ | ID do arquivo de parecer cardiológico |
specialControlPrescriptionFileId | number | ❌ | ID do arquivo de receituário |
appointmentId | number | ❌ | ID do agendamento vinculado |
assignedUserId | number | ❌ | ID do usuário responsável |
Requisição
curl -X 'POST' \
'https://api-dev.imagemais.com.br/api/consultations' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {accessToken}' \
-H 'Content-Type: application/json' \
-d '{
"patientId": 17529,
"consultationType": "ONLINE",
"preConsultation": {
"bloodPressure": "120/80",
"heartRate": "72",
"temperature": "36.5",
"weight": "70",
"height": "175",
"consultationReason": "Dor de cabeça frequente",
"glucose": "90"
},
"mainComplaint": "Dor de cabeça frequente há 3 dias",
"appointmentId": 5285,
"assignedUserId": 1
}'
Respostas
201 Criado
consultationTypeId e consultationStatusId não são fixos
Assim como em outros módulos, esses IDs são gerados via connectOrCreate na primeira vez que o valor é usado naquela conta — não são constantes entre ambientes.
{
"id": 325,
"patientId": 17529,
"preConsultationId": 325,
"mainComplaint": "Dor de cabeça frequente há 3 dias",
"currentDiseaseHistory": null,
"personalHistory": null,
"physicalExam": null,
"medicalConduct": null,
"cardiovascularDiseases": null,
"otherRelevantDiseases": null,
"previousSurgeries": null,
"familyHistory": null,
"medicationsUse": null,
"allergies": null,
"lifestyleHabits": null,
"primaryAndSecondaryDiagnosis": null,
"diagnosisReasoning": null,
"prescribedMedications": null,
"lifestyleAdvice": null,
"followUpExams": null,
"referralsToSpecialists": null,
"medicalCertificate": null,
"declaration": null,
"iaConclusion": null,
"urgencyLevel": null,
"specialControlPrescription": null,
"consultationTypeId": 2,
"consultationStatusId": 1,
"assignedUserId": 1,
"finalizedByUserId": null,
"finalizedAt": null,
"telemedicineTranscription": null,
"openaiThreadId": null,
"createdAt": "2026-05-18T19:20:17.761Z",
"updatedAt": "2026-05-18T19:20:17.761Z",
"deletedAt": null,
"preConsultation": {
"id": 325,
"bloodPressure": "120/80",
"heartRate": "72",
"temperature": "36.5",
"weight": "70",
"height": "175",
"consultationReason": "Dor de cabeça frequente",
"glucose": "90",
"updatedAt": "2026-05-18T19:20:17.682Z",
"deletedAt": null
},
"consultationFiles": [],
"cardiologicalOpinion": null,
"specialControlPrescriptionPdf": null,
"patient": {
"id": 17529,
"name": "LUCAS THIAGO COSTA BARRETO DE LIMA",
"cpf": "09974236402",
"dateBirth": "1999-11-23T00:00:00.000Z",
"gender": {
"name": "F"
},
"contact": {
"phone": "(81) 99743-8893",
"email": null
}
},
"assignedUser": {
"id": 1,
"name": "UserTeste"
}
}
400 Bad Request
Ocorre quando os campos obrigatórios têm valor inválido ou o tipo está errado.
Exemplos de causa:
patientIdenviado como string ("abc")consultationTypecom valor fora do enum ("HIBRIDO")cardiologicalOpinionFileId: 0(deve ser positivo)
{
"statusCode": 400,
"message": ["patientId must be a positive number"],
"error": "Bad Request"
}
403 Sem Permissão
Retornado quando o usuário autenticado não possui a permissão create_consultations.
{
"statusCode": 403,
"message": "Forbidden resource"
}