Saltar al contenido
Almendra
Esc
↑↓navegar↵abrir⌘Jvista previa

Create a scheduled appointment

Creates a new scheduled appointment. Automatically handles health plan management.

Requires the appointments:write permission.

POST/appointments
Autorización
AuthorizationToken Bearer (API Key) · headerobligatorio

Almendra API key, bound to one professional account. Send it as Authorization: Bearer YOUR_API_KEY.

Ámbitos:appointments:write
Cuerpo de la solicitud
application/json
patient_idstringobligatorio

Patient ID

coincide con ^[0-9a-fA-F]{24}$
scheduledTimeStartstring<date-time>obligatorio

Appointment start time in ISO 8601 format

scheduledTimeEndstring<date-time>obligatorio

Appointment end time in ISO 8601 format

scheduledTimeDurationintegerobligatorio

Appointment duration in minutes

mín. 0
locationstring

Physical location of the appointment

conferenceTypestring

Type of video conference

Valores permitidos:zoommeetothernone
conferenceRoomUrlstring<uri>

Video conference URL

modalitystringobligatorio

Appointment modality

Valores permitidos:VirtualPresencialConsulta a Domicilio
addressstring

Address for home visit appointments

healthPlan_idstringobligatorio

Health Plan ID

coincide con ^[0-9a-fA-F]{24}$
purchasedHealthPlan_idstring

Purchased Health Plan ID (if using existing plan)

coincide con ^[0-9a-fA-F]{24}$
pricenumberobligatorio

Appointment price

mín. 0
Respuestas
201

Appointment created successfully

_idstringobligatorio

Appointment ID

patientstringobligatorio

Patient ID

expertstringobligatorio

Expert ID

appointmentStatusintegerobligatorio

Appointment status code

scheduledInfoobjectobligatorio
Mostrar propiedades
wasScheduledbooleanobligatorio
scheduledTimeStartstring<date-time>
scheduledTimeEndstring<date-time>
scheduledDurationinteger
locationstring
conferenceTypestring
conferenceRoomUrlstring
conferenceRoomIdstring
pricenumber
purchasedHealthPlanstring
createdAtstring<date-time>obligatorio
updatedAtstring<date-time>obligatorio
400

Bad request - Invalid input

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

401

Unauthorized - Invalid API key

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

403

The account behind the API key has no active paid plan, or the key lacks the permission this operation needs

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

404

Expert or patient not found

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

415

Unsupported Media Type - send the body as JSON with Content-Type: application/json

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

429

Rate limit exceeded (600 requests per 60 seconds); retry after Retry-After seconds

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

500

Unexpected server error

successbooleanobligatorio
Valores permitidos:false
messagestringobligatorio

Same as error.message.

errorobjectobligatorio
Mostrar propiedades
statusintegerobligatorio

HTTP status code of the response.

codestringobligatorio

Machine-readable error code, stable across versions; branch on this rather than on message.

Valores permitidos:bad_requestunauthorizedforbiddennot_foundmethod_not_allowedconflictpayload_too_largeunsupported_media_typeunprocessable_entityrate_limitedinternal_errornot_implementedbad_gatewayservice_unavailablegateway_timeout
messagestringobligatorio

Human-readable explanation of what went wrong.

Pruébalo
Servidor
Autorización
Cuerpoapplication/json
Solicitud
curl -X POST 'https://api.almendra.io/openapi/v1/appointments' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "patient_id": "507f1f77bcf86cd799439011",
  "scheduledTimeStart": "2024-02-01T10:00:00.000Z",
  "scheduledTimeEnd": "2024-02-01T11:00:00.000Z",
  "scheduledTimeDuration": 60,
  "location": "Clinic Room 101",
  "conferenceType": "zoom",
  "conferenceRoomUrl": "https://zoom.us/j/1234567890",
  "modality": "Virtual",
  "address": "123 Main St, City, State 12345",
  "healthPlan_id": "507f1f77bcf86cd799439013",
  "purchasedHealthPlan_id": "507f1f77bcf86cd799439014",
  "price": 100
}'
Respuesta
{
  "_id": "507f1f77bcf86cd799439016",
  "patient": "507f1f77bcf86cd799439011",
  "expert": "507f1f77bcf86cd799439012",
  "appointmentStatus": 0,
  "scheduledInfo": {
    "wasScheduled": true,
    "scheduledTimeStart": "2024-02-01T10:00:00.000Z",
    "scheduledTimeEnd": "2024-02-01T11:00:00.000Z",
    "scheduledDuration": 60
  },
  "location": "string",
  "conferenceType": "string",
  "conferenceRoomUrl": "string",
  "conferenceRoomId": "string",
  "price": 0,
  "purchasedHealthPlan": "string",
  "createdAt": "2024-01-15T00:00:00.000Z",
  "updatedAt": "2024-01-15T00:00:00.000Z"
}

¿No encuentras lo que buscas?

Nuestro equipo responde en menos de 1 día hábil, de lunes a viernes de 9:30 a 18:00 (GMT-5).

Escríbenos

¿Te ha resultado útil esta página?