Create an appointment
POST /appointments
Creates a CRM appointment. The wrapped payload form is canonical; direct top-level appointment fields remain accepted for compatibility. Times use ISO 8601 with an explicit offset, and connector-level rejection can return HTTP 200 with successful: false.
Operation ID: postAppointments
Authorization: BEARER or API key
Request body
Appointment payload. The wrapper is canonical; the direct form remains for compatibility.
Required: Yes
Content type: application/json
Schema: AppointmentCreateRequest
{
"payload": {
"title": "Strategy Call",
"summary": "Discuss case plan",
"startTimeUtc": "2026-07-20T19:00:00.000Z",
"durationMinutes": 30,
"contacts": [
{
"id": "501",
"type": "Contact"
}
]
}
}
Responses
| Status | Description | Body |
|---|---|---|
200 |
Appointment creation result. | AppointmentCreateResponse |
400 |
Bad request, missing authentication, or connector error. | ErrorResponse, string |
401 |
The user session is expired or revoked. | ErrorResponse, string |