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

Parameters: create_appointment
NameTypeDescription
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
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}'
Python
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})
Node.js
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});
CLI
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

JSON

{
  "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
}

Sign in once. Your agent does the rest.

Sign up and add the apps you need. Free 7-day trial with 2,000 credits, no card needed.