curl --request GET \
--url https://api.getbreezyapp.com/v1/jobs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getbreezyapp.com/v1/jobs"
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/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"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",
"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",
"lifecycle": {
"id": "11111111-1111-4111-8111-000000001102",
"name": "Service workflow"
},
"status": {
"id": "11111111-1111-4111-8111-000000001103",
"name": "Ready to invoice",
"description": "",
"stage": "Won",
"special_status": "Completed",
"is_default": false,
"is_work_complete": true,
"is_lead_won": true
},
"status_changed_at": "2026-08-20T15:00:00Z",
"work_completed_at": "2026-08-20T15:00:00Z",
"lifecycle_closed_at": null,
"outcomes": {
"is_opportunity": true,
"is_converted": true,
"is_hot_lead": false
},
"tags": [
{
"id": "11111111-1111-4111-8111-000000001106",
"name": "Priority customer"
}
],
"lead_sources": [
{
"id": "11111111-1111-4111-8111-000000001105",
"name": "Referral"
}
],
"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"
}
],
"pagination": {
"next_cursor": null
},
"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": "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": []
}
}Page jobs
Work and opportunities with current lifecycle status, recorded dimensions, and distinct work-completion and lifecycle-closure dates. Orders by created_at then id ascending. Complete embedded relationships are returned on every page.
curl --request GET \
--url https://api.getbreezyapp.com/v1/jobs \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.getbreezyapp.com/v1/jobs"
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/jobs', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"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",
"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",
"lifecycle": {
"id": "11111111-1111-4111-8111-000000001102",
"name": "Service workflow"
},
"status": {
"id": "11111111-1111-4111-8111-000000001103",
"name": "Ready to invoice",
"description": "",
"stage": "Won",
"special_status": "Completed",
"is_default": false,
"is_work_complete": true,
"is_lead_won": true
},
"status_changed_at": "2026-08-20T15:00:00Z",
"work_completed_at": "2026-08-20T15:00:00Z",
"lifecycle_closed_at": null,
"outcomes": {
"is_opportunity": true,
"is_converted": true,
"is_hot_lead": false
},
"tags": [
{
"id": "11111111-1111-4111-8111-000000001106",
"name": "Priority customer"
}
],
"lead_sources": [
{
"id": "11111111-1111-4111-8111-000000001105",
"name": "Referral"
}
],
"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"
}
],
"pagination": {
"next_cursor": null
},
"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": "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 in its associated company. No app permission scopes.
Query Parameters
Maximum parent records or report rows. Complete children are always included.
1 <= x <= 100Repeat the original filters; any valid page size may continue. Foreign-company, tampered or mismatched cursors return INVALID_CURSOR.
1Repeat ids for a bounded ID set. Valid foreign or missing IDs contribute no list rows.
1 - 100 elementsInclusive creation instant.
Exclusive creation instant.
Inclusive parent-record updated_at filter only; not a complete change feed.
SERVICE, MAINTENANCE, ESTIMATE_REPAIR, ESTIMATE_REPLACE, INSTALL, WARRANTY, CALLBACK, SALES, UNKNOWN, null Opportunity, Upcoming, Ongoing, Won, Closed, null