Skip to main content

GET Listar Agendamentos

Retorna a lista de agendamentos com filtros opcionais.

Autenticação necessária

Esta rota requer o header Authorization: Bearer {accessToken}


Endpoint

GET https://api-dev.imagemais.com.br/api/appointments

Parâmetros de Query

NomeTipoObrigatórioDescrição
datestringData dos agendamentos no formato YYYY-MM-DD
patientNamestringFiltrar pelo nome do paciente
statusstringFiltrar pelo status. Valores: Agendado, Confirmado, Check-in, Em atendimento, Cancelado, Finalizado, Faltou
doctorIdnumberFiltrar pelo ID do médico

Requisição

curl -X 'GET' \
'https://api-dev.imagemais.com.br/api/appointments?date=2026-05-11' \
-H 'accept: application/json' \
-H 'Authorization: Bearer {accessToken}'

Respostas

201 Sucesso

Retorna um array de agendamentos dentro da propriedade data.

{
"data": [
{
"id": 11,
"date": "2024-01-15T00:00:00.000Z",
"startTime": "09:00",
"endTime": "09:05",
"notes": "Observações sobre o agendamento",
"accountId": 1,
"createdAt": "2025-12-02T18:21:29.276Z",
"updatedAt": "2025-12-02T18:21:29.276Z",
"deletedAt": null,
"doctor": {
"id": 1,
"name": "Dr Victor",
"startTime": "08:00",
"endTime": "18:00",
"intervalMinutes": 5,
"workingDays": ["seg", "ter", "qua", "qui", "sex", "sáb"]
},
"patient": {
"id": 9253,
"name": "João Silva",
"dateBirth": "1990-01-01T00:00:00.000Z",
"contact": {
"phone": "(81) 99999-9999"
}
},
"status": {
"id": 1,
"name": "Agendado",
"color": "#ffc107"
},
"appointmentProcedures": {
"price": "0",
"discountsAppointmentProcedures": [],
"procedure": {
"id": 1,
"name": "string",
"price": "0"
}
}
}
]
}

Estrutura do objeto de retorno

Agendamento

CampoTipoDescrição
idnumberIdentificador único do agendamento
datestringData do agendamento (ISO 8601)
startTimestringHorário de início no formato HH:mm
endTimestringHorário de término no formato HH:mm
notesstringObservações do agendamento
accountIdnumberID da conta associada
createdAtstringData de criação do registro
updatedAtstringData da última atualização
deletedAtstring | nullData de exclusão (soft delete)

doctor

CampoTipoDescrição
idnumberID do médico
namestringNome do médico
startTimestringInício da jornada de trabalho
endTimestringFim da jornada de trabalho
intervalMinutesnumberDuração em minutos de cada slot
workingDaysstring[]Dias de trabalho

patient

CampoTipoDescrição
idnumberID do paciente
namestringNome do paciente
dateBirthstringData de nascimento (ISO 8601)
contact.phonestringTelefone de contato

status

CampoTipoDescrição
idnumberID do status
namestringNome do status
colorstringCor em hexadecimal para exibição

appointmentProcedures

CampoTipoDescrição
pricestringPreço final após descontos
procedure.idnumberID do procedimento
procedure.namestringNome do procedimento
procedure.pricestringPreço original do procedimento
discountsAppointmentProceduresarrayLista de descontos aplicados (veja abaixo)

201 Sucesso — com descontos aplicados

Quando o agendamento possui descontos, o array discountsAppointmentProcedures é preenchido.

{
"appointmentProcedures": {
"price": "100",
"discountsAppointmentProcedures": [
{
"discountId": 3,
"value": "10",
"discount": {
"id": 3,
"name": "Desconto nos procedimentos",
"fixed": "10",
"percentage": null,
"expirationDate": null
}
}
],
"procedure": {
"id": 3699,
"name": "Ultrassom: Tireoide",
"price": "100"
}
}
}

discountsAppointmentProcedures

CampoTipoDescrição
discountIdnumberID do desconto aplicado
valuestringValor do desconto aplicado
discount.namestringNome do desconto
discount.fixedstring | nullValor fixo de desconto
discount.percentagestring | nullPercentual de desconto
discount.expirationDatestring | nullData de expiração do desconto

500 Erro interno

{
"statusCode": 500,
"message": "Internal server error"
}