Read one visit with all assignments and its write revision
curl --request GET \
--url https://api.getbreezyapp.com/v1/schedule/appointments/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getbreezyapp.com/v1/schedule/appointments/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getbreezyapp.com/v1/schedule/appointments/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "11111111-1111-4111-8111-000000001109",
"number": "300",
"job_id": "11111111-1111-4111-8111-000000000501",
"type": "Other",
"description": "Air conditioner repair visit",
"window_start_at": "2026-09-08T19:00:00Z",
"window_end_at": "2026-09-08T21:00:00Z",
"confirmed": false,
"canceled": false,
"cancellation_reason": null,
"cancellation_note": null,
"created_by": {
"id": "11111111-1111-4111-8111-000000000401",
"name": "Alex Example"
},
"created_at": "2026-08-19T16:00:00Z",
"updated_at": "2026-09-08T19:00:00Z",
"kind": "APPOINTMENT",
"starts_at": "2026-09-08T19:00:00Z",
"ends_at": "2026-09-08T21:00:00Z",
"revision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"job": {
"id": "11111111-1111-4111-8111-000000000501",
"number": "200",
"summary": "Repair air conditioner",
"account": {
"id": "11111111-1111-4111-8111-000000000101",
"name": "Example Household"
},
"location": {
"id": "11111111-1111-4111-8111-000000001107",
"name": "Home",
"address": "123 Example Lane, Los Angeles, CA 90001",
"latitude": 34.02,
"longitude": -118.25
},
"contact": {
"id": "11111111-1111-4111-8111-000000001101",
"name": "Jordan Example"
},
"business_unit": {
"id": "11111111-1111-4111-8111-000000000201",
"name": "Service"
},
"job_type": {
"id": "11111111-1111-4111-8111-000000000301",
"name": "HVAC Service"
},
"job_class": "SERVICE"
},
"assignments": [
{
"id": "11111111-1111-4111-8111-000000001113",
"job_id": "11111111-1111-4111-8111-000000000501",
"appointment_id": "11111111-1111-4111-8111-000000001109",
"team_member": {
"id": "11111111-1111-4111-8111-000000000401",
"name": "Alex Example"
},
"starts_at": "2026-09-08T19:30:00Z",
"ends_at": "2026-09-08T20:30:00Z",
"status": "TO_DO",
"status_updated_at": "2026-09-08T18:00:00Z",
"created_at": "2026-08-19T16:00:00Z",
"updated_at": null
},
{
"id": "11111111-1111-4111-8111-000000002001",
"job_id": "11111111-1111-4111-8111-000000000501",
"appointment_id": "11111111-1111-4111-8111-000000001109",
"team_member": {
"id": "11111111-1111-4111-8111-000000002002",
"name": "Sam Example"
},
"starts_at": "2026-09-08T19:30:00Z",
"ends_at": "2026-09-08T20:30:00Z",
"status": "TO_DO",
"status_updated_at": "2026-09-08T18:00:00Z",
"created_at": "2026-08-19T16:00:00Z",
"updated_at": null
}
],
"dispatch_status": "ASSIGNED"
},
"meta": {
"request_id": "11111111-1111-4111-8111-000000009999",
"generated_at": "2026-09-08T19:00:00Z",
"timezone": "America/Los_Angeles"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "end_date must be later than start_date",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "A valid API key is required",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "METHOD_NOT_ALLOWED",
"message": "This resource supports GET",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "STALE_REVISION",
"message": "The visit changed; read it again before editing",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "Request body exceeds 64 KB",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Request limit exceeded",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Unable to complete request",
"request_id": "example-request",
"details": []
}
}Scheduling
Read one visit with all assignments and its write revision
Read only within the company associated with the validated key.
GET
/
schedule
/
appointments
/
{id}
Read one visit with all assignments and its write revision
curl --request GET \
--url https://api.getbreezyapp.com/v1/schedule/appointments/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getbreezyapp.com/v1/schedule/appointments/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.getbreezyapp.com/v1/schedule/appointments/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "11111111-1111-4111-8111-000000001109",
"number": "300",
"job_id": "11111111-1111-4111-8111-000000000501",
"type": "Other",
"description": "Air conditioner repair visit",
"window_start_at": "2026-09-08T19:00:00Z",
"window_end_at": "2026-09-08T21:00:00Z",
"confirmed": false,
"canceled": false,
"cancellation_reason": null,
"cancellation_note": null,
"created_by": {
"id": "11111111-1111-4111-8111-000000000401",
"name": "Alex Example"
},
"created_at": "2026-08-19T16:00:00Z",
"updated_at": "2026-09-08T19:00:00Z",
"kind": "APPOINTMENT",
"starts_at": "2026-09-08T19:00:00Z",
"ends_at": "2026-09-08T21:00:00Z",
"revision": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"job": {
"id": "11111111-1111-4111-8111-000000000501",
"number": "200",
"summary": "Repair air conditioner",
"account": {
"id": "11111111-1111-4111-8111-000000000101",
"name": "Example Household"
},
"location": {
"id": "11111111-1111-4111-8111-000000001107",
"name": "Home",
"address": "123 Example Lane, Los Angeles, CA 90001",
"latitude": 34.02,
"longitude": -118.25
},
"contact": {
"id": "11111111-1111-4111-8111-000000001101",
"name": "Jordan Example"
},
"business_unit": {
"id": "11111111-1111-4111-8111-000000000201",
"name": "Service"
},
"job_type": {
"id": "11111111-1111-4111-8111-000000000301",
"name": "HVAC Service"
},
"job_class": "SERVICE"
},
"assignments": [
{
"id": "11111111-1111-4111-8111-000000001113",
"job_id": "11111111-1111-4111-8111-000000000501",
"appointment_id": "11111111-1111-4111-8111-000000001109",
"team_member": {
"id": "11111111-1111-4111-8111-000000000401",
"name": "Alex Example"
},
"starts_at": "2026-09-08T19:30:00Z",
"ends_at": "2026-09-08T20:30:00Z",
"status": "TO_DO",
"status_updated_at": "2026-09-08T18:00:00Z",
"created_at": "2026-08-19T16:00:00Z",
"updated_at": null
},
{
"id": "11111111-1111-4111-8111-000000002001",
"job_id": "11111111-1111-4111-8111-000000000501",
"appointment_id": "11111111-1111-4111-8111-000000001109",
"team_member": {
"id": "11111111-1111-4111-8111-000000002002",
"name": "Sam Example"
},
"starts_at": "2026-09-08T19:30:00Z",
"ends_at": "2026-09-08T20:30:00Z",
"status": "TO_DO",
"status_updated_at": "2026-09-08T18:00:00Z",
"created_at": "2026-08-19T16:00:00Z",
"updated_at": null
}
],
"dispatch_status": "ASSIGNED"
},
"meta": {
"request_id": "11111111-1111-4111-8111-000000009999",
"generated_at": "2026-09-08T19:00:00Z",
"timezone": "America/Los_Angeles"
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "end_date must be later than start_date",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "A valid API key is required",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Resource not found",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "METHOD_NOT_ALLOWED",
"message": "This resource supports GET",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "STALE_REVISION",
"message": "The visit changed; read it again before editing",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "INVALID_REQUEST",
"message": "Request body exceeds 64 KB",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Request limit exceeded",
"request_id": "example-request",
"details": []
}
}{
"error": {
"code": "INTERNAL_ERROR",
"message": "Unable to complete request",
"request_id": "example-request",
"details": []
}
}Authorizations
Existing Breezy API key. Grants all published reads and scheduling writes in its associated company. No app permission scopes.