Create an appointment
Book an appointment for a job with a technician and a time window.
POST https://cotlet.dev/api/v1/servicetrade/jobs/{job_id}/appointments
write Confirm
Returns the new appointment with its status, window, technicians and released flag. Service requests must belong to the job. Leave released false to review the day first, and use update_appointment to release it. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| job_id integer required | integer | Job to book, from list_jobs. |
| technician_ids array | array | Technician ids from list_technicians. |
| window_start string | string | ISO 8601 date-time with offset. |
| window_end string | string | ISO 8601 date-time with offset. |
| service_request_ids array | array | Services of the job to do at this appointment; none means an appointment without services. |
| released boolean | boolean | true gives the appointment to the technicians now, false keeps it as a draft. |
Request
curl -X POST https://cotlet.dev/api/v1/servicetrade/jobs/48213/appointments \
-H "Authorization: Bearer $COTLET_API_KEY" \
-H "Content-Type: application/json" \
-d '{"technician_ids":[3301],"window_start":"2026-10-26T08:00:00-04:00","window_end":"2026-10-26T10:00:00-04:00","released":false}' result = client.call("servicetrade", "create_appointment", {"job_id":48213,"technician_ids":[3301],"window_start":"2026-10-26T08:00:00-04:00","window_end":"2026-10-26T10:00:00-04:00","released":False}) const result = await cotlet.call('servicetrade', 'create_appointment', {"job_id":48213,"technician_ids":[3301],"window_start":"2026-10-26T08:00:00-04:00","window_end":"2026-10-26T10:00:00-04:00","released":false}); cotlet call servicetrade create_appointment --data '{"job_id":48213,"technician_ids":[3301],"window_start":"2026-10-26T08:00:00-04:00","window_end":"2026-10-26T10:00:00-04:00","released":false}' Example response
{
"appointment_id": 90417,
"job_id": 48213,
"status": "scheduled",
"window_start": "2026-10-26T08:00:00-04:00",
"window_end": "2026-10-26T10:00:00-04:00",
"technicians": [
{
"id": 3301,
"name": "Marcus Hill"
}
],
"released": false
}