Saltar al contenido principal

Consultar citas por paciente y rango

GET/appointments

Lista citas visibles para el tenant autenticado. Se exige patientId para evitar extracciones masivas; el intervalo es semiabierto y maximo de 366 dias.

curl --request GET \
  --url '${BASE_URL}/appointments' \
  --header 'Authorization: Bearer ${ACCESS_TOKEN}' \
  --header 'X-Correlation-Id: 10000000-0000-4000-8000-000000000007' \
  --data-urlencode 'patientId=20000000-0000-4000-8000-000000000001' \
  --data-urlencode 'from=2026-08-01T00:00:00-05:00' \
  --data-urlencode 'to=2026-09-01T00:00:00-05:00'

Request

Headers y parametros

NombreUbicacionRequeridoDescripcion
X-Correlation-IdheaderNoUUID generado por el consumidor para trazabilidad; el servidor genera uno si se omite.
patientIdquerySiIdentificador opaco del paciente dentro del tenant autenticado.
fromquerySiInicio inclusivo del rango.
toquerySiFin exclusivo del rango.
statusqueryNoEstado operativo opcional.
cursorqueryNoCursor opaco retornado por la pagina anterior; no debe interpretarse.
limitqueryNoCantidad maxima de elementos solicitados.

Responses

200Pagina ordenada por fecha de inicio ascendente.

Content-Type: application/json

CampoTipoRequeridoDescripcion
itemsobject[]Si-
nextCursorstring | nullSi-

Ejemplo

ejemplo de respuesta 200
{
  "items": [
    {
      "endsAt": "2026-08-03T09:30:00-05:00",
      "id": "60000000-0000-4000-8000-000000000001",
      "patientId": "20000000-0000-4000-8000-000000000001",
      "serviceId": "30000000-0000-4000-8000-000000000003",
      "startsAt": "2026-08-03T09:00:00-05:00",
      "status": "PENDING",
      "version": 1
    }
  ],
  "nextCursor": null
}
400Solicitud mal formada o parametro invalido.

Content-Type: application/problem+json

CampoTipoRequeridoDescripcion
codestringSi-
correlationIdstring (uuid)Si-
detailstringNoExplicacion segura sin PII ni secretos.
errorsobject[]No-
instancestring (uri-reference)No-
statusintegerSi-
titlestringSi-
typestring (uri)SiURI estable que identifica la clase de problema.

Ejemplo

ejemplo de respuesta 400
{
  "code": "INVALID_REQUEST",
  "correlationId": "10000000-0000-4000-8000-000000000001",
  "detail": "Revise los parametros enviados.",
  "status": 400,
  "title": "Solicitud invalida",
  "type": "https://magnosoft.com.co/problems/invalid-request"
}
401Token ausente, invalido, vencido o con audience incorrecta.

Content-Type: application/problem+json

CampoTipoRequeridoDescripcion
codestringSi-
correlationIdstring (uuid)Si-
detailstringNoExplicacion segura sin PII ni secretos.
errorsobject[]No-
instancestring (uri-reference)No-
statusintegerSi-
titlestringSi-
typestring (uri)SiURI estable que identifica la clase de problema.

Ejemplo

ejemplo de respuesta 401
{
  "code": "INVALID_ACCESS_TOKEN",
  "correlationId": "10000000-0000-4000-8000-000000000001",
  "status": 401,
  "title": "Autenticacion requerida",
  "type": "https://magnosoft.com.co/problems/unauthorized"
}
403Service principal autenticado sin el scope requerido.

Content-Type: application/problem+json

CampoTipoRequeridoDescripcion
codestringSi-
correlationIdstring (uuid)Si-
detailstringNoExplicacion segura sin PII ni secretos.
errorsobject[]No-
instancestring (uri-reference)No-
statusintegerSi-
titlestringSi-
typestring (uri)SiURI estable que identifica la clase de problema.

Ejemplo

ejemplo de respuesta 403
{
  "code": "INSUFFICIENT_SCOPE",
  "correlationId": "10000000-0000-4000-8000-000000000001",
  "status": 403,
  "title": "Permiso insuficiente",
  "type": "https://magnosoft.com.co/problems/forbidden"
}
429Limite de solicitudes excedido para el service principal.

Content-Type: application/problem+json

CampoTipoRequeridoDescripcion
codestringSi-
correlationIdstring (uuid)Si-
detailstringNoExplicacion segura sin PII ni secretos.
errorsobject[]No-
instancestring (uri-reference)No-
statusintegerSi-
titlestringSi-
typestring (uri)SiURI estable que identifica la clase de problema.

Ejemplo

ejemplo de respuesta 429
{
  "code": "RATE_LIMIT_EXCEEDED",
  "correlationId": "10000000-0000-4000-8000-000000000001",
  "status": 429,
  "title": "Demasiadas solicitudes",
  "type": "https://magnosoft.com.co/problems/rate-limit"
}