ZapyFlow/API documentationopenapi.json

Appointments

Calendar and appointments

GET/api/appointments

List the team's appointments

Required scope: appointments.read

ParameterInRequired
pagequeryno
limitqueryno
aiAgentIdqueryno
statusqueryno
sourcequeryno
dateFromqueryno
dateToqueryno
searchqueryno
sortqueryno
overlapqueryno
bash
curl "https://api.zapyflow.com.br/api/appointments" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 200 — OK
  • 400 — Malformed request

POST/api/appointments

Create an appointment (from the dashboard or the AI). Returns 409 when the slot is taken; resend with allowOverlap to book anyway.

Required scope: appointments.write

Request body

FieldTypeRequiredConstraints
aiAgentIdstringyesmin 1
titlestringyesmin 1, max 255
startTimestringyes—
endTimestringyes—
status"PENDING" | "CONFIRMED" | "CANCELLED" | "COMPLETED"no—
notesstringnomax 500
source"BOT" | "DASHBOARD"no—
leadIdstringno—
clientNamestringnomax 255
clientPhonestringno—
clientEmailstringno—
allowOverlapbooleanno—
bash
curl -X POST "https://api.zapyflow.com.br/api/appointments" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 201 — Created
  • 400 — Malformed request
  • 409 — Conflict with the current state

PATCH/api/appointments/{id}

Update an appointment

Required scope: appointments.write

ParameterInRequired
idpathyes

Request body

FieldTypeRequiredConstraints
titlestringnomin 1, max 255
startTimestringno—
endTimestringno—
status"PENDING" | "CONFIRMED" | "CANCELLED" | "COMPLETED"no—
notesstring | nullno—
notifyClientbooleanno—
allowOverlapbooleanno—
bash
curl -X PATCH "https://api.zapyflow.com.br/api/appointments/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ ... }'
Responses
  • 200 — OK
  • 400 — Malformed request
  • 404 — Not found — also returned when the resource belongs to another workspace
  • 409 — Conflict with the current state

DELETE/api/appointments/{id}

Delete an appointment

Required scope: appointments.write

ParameterInRequired
idpathyes
bash
curl -X DELETE "https://api.zapyflow.com.br/api/appointments/{id}" \
  -H "Authorization: Bearer $ZAPYFLOW_API_KEY"
Responses
  • 200 — OK
  • 404 — Not found — also returned when the resource belongs to another workspace