{
"error": {
"code": "STALE_REVISION",
"message": "The visit changed; read it again before editing",
"request_id": "example-request",
"details": []
}
}
Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.
{
"error": {
"code": "STALE_REVISION",
"message": "The visit changed; read it again before editing",
"request_id": "example-request",
"details": []
}
}
The scheduling change is committed regardless of notification outcome. UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit or recipient changed before delivery.
Generation time and company timezone. generated_at is not a snapshot or synchronization token.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Breezy FSM API","description":"Build operational and financial reports with the Breezy field service management API.","colors":{"primary":"#0958D9","light":"#4096FF","dark":"#0958D9"},"logo":{"light":"https://mintcdn.com/breezy-fsm/oiZqxfHjJWgR4SxV/logo/breezy-light.svg?fit=max\u0026auto=format\u0026n=oiZqxfHjJWgR4SxV\u0026q=85\u0026s=0d4ab09c4ec7a4400a349d0f2977aab8","dark":"https://mintcdn.com/breezy-fsm/oiZqxfHjJWgR4SxV/logo/breezy-dark.svg?fit=max\u0026auto=format\u0026n=oiZqxfHjJWgR4SxV\u0026q=85\u0026s=4321d61497647cf95bd6a5699e865094"},"favicon":"https://mintcdn.com/breezy-fsm/oiZqxfHjJWgR4SxV/favicon.png?fit=max\u0026auto=format\u0026n=oiZqxfHjJWgR4SxV\u0026q=85\u0026s=b8d4bc0727520f5ee0ddbada48d37ce4","api":{"playground":{"display":"interactive","proxy":false,"credentials":false},"examples":{"defaults":"required","languages":["curl","python","javascript"],"prefill":false}},"appearance":{"default":"system","strict":false},"navbar":{"links":[{"href":"https://getbreezyapp.com","label":"Breezy"}],"primary":{"type":"button","label":"Open FSM","href":"https://dashboard.getbreezyapp.com"}},"seo":{"metatags":{"og:title":"Breezy FSM API","og:description":"Scheduling and operational and financial reporting: resources, pagination, business measures, and examples.","og:type":"website","twitter:card":"summary_large_image"},"indexing":"navigable"},"fonts":{"heading":{"family":"Poppins","weight":600}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"github-light","dark":"github-dark"}},"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"breezy-fsm","hasAudioNarration":false,"actualSubdomain":"breezy-fsm","customDomains":["developers.getbreezyapp.com"],"gitSource":{"type":"github","owner":"breezy-software-inc","repo":"platform","deployBranch":"public-api-docs","contentDirectory":"docs/public-api","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6ab55e44a89dca91c2c0530c","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API reference","count":64},{"language":"default","tag":"Reporting guides","count":11},{"language":"default","tag":"Business measures","count":9},{"language":"default","tag":"Scheduling","count":9},{"language":"default","tag":"Start here","count":6},{"language":"default","tag":"Get started","count":6},{"language":"default","tag":"Reports","count":6},{"language":"default","tag":"Plan your reports","count":2},{"language":"default","tag":"Accounts","count":2},{"language":"default","tag":"BusinessUnits","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/scheduling/cancel-a-visit-and-remove-its-assignments","slug":"/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments","pageMetadata":{"title":"Cancel a visit and remove its assignments","description":"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.","deprecated":null,"version":null,"openapi":"/openapi.json post /job-appointments/{id}/cancel","href":"/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light","dark":"github-dark"}},"config":{},"pageMetadata":{"title":"Cancel a visit and remove its assignments","description":"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.","deprecated":null,"version":null,"openapi":"/openapi.json post /job-appointments/{id}/cancel","href":"/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"cancelJobAppointment","tags":["Scheduling"],"summary":"Cancel a visit and remove its assignments","description":"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.","security":["c3abd41c-4551-459d-b45b-862ae3cf79b0"],"parameters":["06873d3b-60ad-4406-9121-da73b2597410","a0780447-2c5a-4898-b695-fc246cdd95ed"],"requestBody":"114bad36-2f45-481a-a36e-e5edc2d8194f","responses":{"200":"f0327ccb-2fed-4975-804e-ec063cc9bbfe","400":"e569dba0-f8fe-4282-85ba-31ab59dd5ca7","401":"bf3eb554-dd04-4a87-ae61-b05b0711d1b6","404":"0f1d3f25-55c9-4411-8e4d-77345d7f9e17","405":"df086ae6-1ce3-4158-b44b-510210b41ada","409":"d97d85ee-e621-44f4-bf2f-95eab25a5bb3","413":"31a37a8f-f158-43cb-8945-23199eef0aa2","429":"127eb87c-2790-4731-bea4-a62cce2b2148","500":"637bf80d-d945-4cc0-84f8-a20631ac588f"},"method":"post","type":"path","servers":["d4239c0d-e8dd-49f6-b7f4-2b5a3ad6583c"],"path":"/job-appointments/{id}/cancel","baseUrlOptions":["https://api.getbreezyapp.com/v1"],"title":"Cancel a visit and remove its assignments","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","disableProxy":true},"dependencies":{"parameters":{"06873d3b-60ad-4406-9121-da73b2597410":{"schema":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":true,"name":"id","in":"path"},"a0780447-2c5a-4898-b695-fc246cdd95ed":{"schema":{"type":"string","pattern":"^[A-Za-z0-9_-]{8,128}$","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"name":"Idempotency-Key","in":"header"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"expected_revision":{"type":"string","pattern":"^[a-f0-9]{64}$","description":"Revision from the schedule visit read or previous successful command.","isRequired":true,"uniqueKey":"expected_revision","typeLabel":"string"},"reason":{"type":"string","minLength":1,"maxLength":200,"isRequired":true,"uniqueKey":"reason","typeLabel":"string"},"customer_notification":{"oneOf":[{"type":"object","properties":{"channel":{"type":"string","enum":["EMAIL","SMS"],"isRequired":true,"uniqueKey":"customer_notification.oneOf.0.channel","typeLabel":"enum\u003cstring>"},"contact_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"customer_notification.oneOf.0.contact_id","typeLabel":"string\u003cuuid>"}},"default":null,"required":["channel","contact_id"],"additionalProperties":false,"uniqueKey":"customer_notification.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"channel":{"type":"string","enum":["EMAIL","SMS"]},"contact_id":{"type":"string","format":"uuid"}},"default":null,"required":["channel","contact_id"],"additionalProperties":false,"uniqueKey":"customer_notification.oneOf.1","typeLabel":"null"}],"uniqueKey":"customer_notification","typeLabel":"object | null"},"note":{"oneOf":[{"type":"string","maxLength":2000,"default":null,"uniqueKey":"note.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":2000,"default":null,"uniqueKey":"note.oneOf.1","typeLabel":"null"}],"uniqueKey":"note","typeLabel":"string | null"}},"required":["expected_revision","reason"],"additionalProperties":false,"uniqueKey":"","typeLabel":"object"},"example":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","reason":"Need to Reschedule","note":"Customer away this week"},"examples":{"Example":{"title":"Example","value":{"expected_revision":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","reason":"Need to Reschedule","note":"Customer away this week"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"f0327ccb-2fed-4975-804e-ec063cc9bbfe":{"description":"Committed visit and notification outcome. Replays retain the original visit snapshot; reread for current state.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"}},"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","required":["kind","starts_at","ends_at","revision","job","assignments","dispatch_status","id","number","job_id","type","description","window_start_at","window_end_at","confirmed","canceled","cancellation_reason","cancellation_note","created_by","created_at","updated_at"],"properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.id","typeLabel":"string\u003cuuid>"},"number":{"type":"string","isRequired":true,"uniqueKey":"data.number","typeLabel":"string"},"job_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job_id","typeLabel":"string\u003cuuid>"},"type":{"type":"string","isRequired":true,"uniqueKey":"data.type","typeLabel":"string"},"description":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.description.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.description.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.description","typeLabel":"string | null"},"window_start_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.window_start_at","typeLabel":"string\u003cdate-time>"},"window_end_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.window_end_at","typeLabel":"string\u003cdate-time>"},"confirmed":{"type":"boolean","isRequired":true,"uniqueKey":"data.confirmed","typeLabel":"boolean"},"canceled":{"type":"boolean","isRequired":true,"uniqueKey":"data.canceled","typeLabel":"boolean"},"cancellation_reason":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.cancellation_reason.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.cancellation_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cancellation_reason","typeLabel":"string | null"},"cancellation_note":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.cancellation_note.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.cancellation_note.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.cancellation_note","typeLabel":"string | null"},"created_by":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.created_by.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.created_by.oneOf.0.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.created_by.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.created_by.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.created_by","typeLabel":"object | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Parent record edit time only; related records may change independently.","isRequired":true,"uniqueKey":"data.updated_at","typeLabel":"string\u003cdate-time>"},"kind":{"type":"string","enum":["APPOINTMENT"],"isRequired":true,"uniqueKey":"data.kind","typeLabel":"enum\u003cstring>"},"starts_at":{"type":"string","format":"date-time","description":"Earliest start of the arrival window and its assignments.","isRequired":true,"uniqueKey":"data.starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","description":"Latest end of the arrival window and its assignments.","isRequired":true,"uniqueKey":"data.ends_at","typeLabel":"string\u003cdate-time>"},"revision":{"type":"string","description":"Opaque version of this visit and its complete assignments; use for conditional writes.","isRequired":true,"uniqueKey":"data.revision","typeLabel":"string"},"job":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.id","typeLabel":"string\u003cuuid>"},"number":{"type":"string","isRequired":true,"uniqueKey":"data.job.number","typeLabel":"string"},"summary":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.job.summary.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.job.summary.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.summary","typeLabel":"string | null"},"account":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.account.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.job.account.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.account","typeLabel":"object"},"location":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.location.oneOf.0.name","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.address.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.address.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.location.oneOf.0.address","typeLabel":"string | null"},"latitude":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.latitude.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.latitude.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.location.oneOf.0.latitude","typeLabel":"number | null"},"longitude":{"oneOf":[{"type":"number","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.longitude.oneOf.0","typeLabel":"number"},{"type":"null","isRequired":true,"uniqueKey":"data.job.location.oneOf.0.longitude.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.location.oneOf.0.longitude","typeLabel":"number | null"}},"required":["id","name","address","latitude","longitude"],"isRequired":true,"uniqueKey":"data.job.location.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid"},"name":{"oneOf":[{"type":"string"},{"type":"null"}]},"address":{"oneOf":[{"type":"string"},{"type":"null"}]},"latitude":{"oneOf":[{"type":"number"},{"type":"null"}]},"longitude":{"oneOf":[{"type":"number"},{"type":"null"}]}},"required":["id","name","address","latitude","longitude"],"isRequired":true,"uniqueKey":"data.job.location.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.location","typeLabel":"object | null"},"contact":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.contact.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.job.contact.oneOf.0.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.contact.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.contact.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.contact","typeLabel":"object | null"},"business_unit":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.business_unit.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.job.business_unit.oneOf.0.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.business_unit.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.business_unit.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.business_unit","typeLabel":"object | null"},"job_type":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.job_type.oneOf.0.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.job.job_type.oneOf.0.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.job_type.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.job.job_type.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.job_type","typeLabel":"object | null"},"job_class":{"oneOf":[{"type":"string","enum":["SERVICE","MAINTENANCE","ESTIMATE_REPAIR","ESTIMATE_REPLACE","INSTALL","WARRANTY","CALLBACK","SALES","UNKNOWN",null],"isRequired":true,"uniqueKey":"data.job.job_class.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["SERVICE","MAINTENANCE","ESTIMATE_REPAIR","ESTIMATE_REPLACE","INSTALL","WARRANTY","CALLBACK","SALES","UNKNOWN",null],"isRequired":true,"uniqueKey":"data.job.job_class.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.job_class","typeLabel":"enum\u003cstring> | null"}},"required":["id","number","summary","account","location","contact","business_unit","job_type","job_class"],"isRequired":true,"uniqueKey":"data.job","typeLabel":"object"},"assignments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].id","typeLabel":"string\u003cuuid>"},"job_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].job_id","typeLabel":"string\u003cuuid>"},"appointment_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].appointment_id","typeLabel":"string\u003cuuid>"},"team_member":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].team_member.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].team_member.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].team_member","typeLabel":"object"},"starts_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].starts_at","typeLabel":"string\u003cdate-time>"},"ends_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].ends_at","typeLabel":"string\u003cdate-time>"},"status":{"oneOf":[{"type":"string","enum":["TO_DO","EN_ROUTE","IN_PROGRESS","COMPLETED","CANCELED",null],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].status.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["TO_DO","EN_ROUTE","IN_PROGRESS","COMPLETED","CANCELED",null],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].status.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].status","typeLabel":"enum\u003cstring> | null"},"status_updated_at":{"oneOf":[{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].status_updated_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].status_updated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].status_updated_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"oneOf":[{"type":"string","description":"Unavailable: assignment edits do not maintain a parent update timestamp.","enum":[null],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].updated_at.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","description":"Unavailable: assignment edits do not maintain a parent update timestamp.","enum":[null],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].updated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.assignments.items.[INDEX].updated_at","typeLabel":"enum\u003cstring> | null"}},"required":["id","job_id","appointment_id","team_member","starts_at","ends_at","status","status_updated_at","created_at","updated_at"],"uniqueKey":"data.assignments.items.[INDEX]","typeLabel":"object"},"description":"Complete set of this visit's company-owned assignments, including outside the requested period or technician filter.","isRequired":true,"uniqueKey":"data.assignments","typeLabel":"object[]"},"dispatch_status":{"type":"string","enum":["CANCELED","UNASSIGNED","ASSIGNED","EN_ROUTE","IN_PROGRESS","COMPLETED"],"isRequired":true,"uniqueKey":"data.dispatch_status","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"data","typeLabel":"object"},"notification":{"type":"object","properties":{"status":{"type":"string","enum":["NOT_REQUESTED","PENDING","SENT","UNKNOWN","SUPPRESSED"],"isRequired":true,"uniqueKey":"notification.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"description":"The scheduling change is committed regardless of notification outcome. UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit or recipient changed before delivery.","isRequired":true,"uniqueKey":"notification","typeLabel":"object"},"meta":{"type":"object","properties":{"request_id":{"type":"string","isRequired":true,"uniqueKey":"meta.request_id","typeLabel":"string"},"generated_at":{"type":"string","format":"date-time","isRequired":true,"uniqueKey":"meta.generated_at","typeLabel":"string\u003cdate-time>"},"timezone":{"type":"string","isRequired":true,"uniqueKey":"meta.timezone","typeLabel":"string"}},"required":["request_id","generated_at","timezone"],"description":"Generation time and company timezone. generated_at is not a snapshot or synchronization token.","isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"required":["data","notification","meta"],"uniqueKey":"","typeLabel":"object"},"example":{"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":true,"cancellation_reason":"Need to Reschedule","cancellation_note":"Customer away this week","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":[],"dispatch_status":"CANCELED"},"notification":{"status":"NOT_REQUESTED"},"meta":{"request_id":"11111111-1111-4111-8111-000000009999","generated_at":"2026-09-08T19:00:00Z","timezone":"America/Los_Angeles"}},"examples":{"Example":{"title":"Example","value":{"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":true,"cancellation_reason":"Need to Reschedule","cancellation_note":"Customer away this week","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":[],"dispatch_status":"CANCELED"},"notification":{"status":"NOT_REQUESTED"},"meta":{"request_id":"11111111-1111-4111-8111-000000009999","generated_at":"2026-09-08T19:00:00Z","timezone":"America/Los_Angeles"}}}},"exampleType":"examples"}},"exampleType":"examples"},"e569dba0-f8fe-4282-85ba-31ab59dd5ca7":{"description":"Malformed input, unknown query parameter, unsupported combination or invalid cursor.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"INVALID_REQUEST","message":"end_date must be later than start_date","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_REQUEST","message":"end_date must be later than start_date","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"bf3eb554-dd04-4a87-ae61-b05b0711d1b6":{"description":"Missing, invalid or expired key, or invalid linked identity.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"},"WWW-Authenticate":{"schema":{"type":"string"},"example":"Bearer"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"UNAUTHENTICATED","message":"A valid API key is required","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"UNAUTHENTICATED","message":"A valid API key is required","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"0f1d3f25-55c9-4411-8e4d-77345d7f9e17":{"description":"Missing resource or resource outside the authenticated company. Same response for both.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"NOT_FOUND","message":"Resource not found","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"NOT_FOUND","message":"Resource not found","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"df086ae6-1ce3-4158-b44b-510210b41ada":{"description":"Unsupported methods return 405. See the operation list for supported scheduling writes.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"},"Allow":{"schema":{"type":"string"},"example":"GET, HEAD, OPTIONS"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"METHOD_NOT_ALLOWED","message":"This resource supports GET","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"METHOD_NOT_ALLOWED","message":"This resource supports GET","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"d97d85ee-e621-44f4-bf2f-95eab25a5bb3":{"description":"Stale revision, idempotency-key reuse with different input, scheduling conflict, or unsupported stored recurrence. Inspect error.code.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"STALE_REVISION","message":"The visit changed; read it again before editing","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"STALE_REVISION","message":"The visit changed; read it again before editing","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"31a37a8f-f158-43cb-8945-23199eef0aa2":{"description":"Request body is too large.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"INVALID_REQUEST","message":"Request body exceeds 64 KB","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INVALID_REQUEST","message":"Request body exceeds 64 KB","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"127eb87c-2790-4731-bea4-a62cce2b2148":{"description":"Company request budget exhausted; retry after the indicated delay.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"},"Retry-After":{"schema":{"type":"integer","minimum":1},"description":"Seconds before retrying.","example":30}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"RATE_LIMITED","message":"Request limit exceeded","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"RATE_LIMITED","message":"Request limit exceeded","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"},"637bf80d-d945-4cc0-84f8-a20631ac588f":{"description":"Unexpected failure. Share request_id with support; no stack or provider secrets in response.","headers":{"Cache-Control":{"schema":{"type":"string"},"example":"private, no-store"}},"content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["INVALID_REQUEST","INVALID_CURSOR","SCHEDULE_TOO_LARGE","INVALID_SCHEDULE_EVENT","SCHEDULE_CONFLICT","STALE_REVISION","IDEMPOTENCY_CONFLICT","UNAUTHENTICATED","NOT_FOUND","METHOD_NOT_ALLOWED","RATE_LIMITED","INTERNAL_ERROR"],"isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"request_id":{"type":"string","isRequired":true,"uniqueKey":"error.request_id","typeLabel":"string"},"details":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].field","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.details.items.[INDEX].message","typeLabel":"string"}},"required":["field","message"],"uniqueKey":"error.details.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"error.details","typeLabel":"object[]"}},"required":["code","message","request_id","details"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"example":{"error":{"code":"INTERNAL_ERROR","message":"Unable to complete request","request_id":"example-request","details":[]}},"examples":{"Example":{"title":"Example","value":{"error":{"code":"INTERNAL_ERROR","message":"Unable to complete request","request_id":"example-request","details":[]}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"c3abd41c-4551-459d-b45b-862ae3cf79b0":{"apiKey":{"type":"http","scheme":"bearer","description":"Existing Breezy API key. Grants all published reads and scheduling writes in its associated company. No app permission scopes.","scopes":[]}}},"servers":{"d4239c0d-e8dd-49f6-b7f4-2b5a3ad6583c":{"url":"https://api.getbreezyapp.com/v1","description":"Breezy FSM production API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Existing Breezy API key. Grants all published reads and scheduling writes in its associated company. No app permission scopes.","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Existing Breezy API key. Grants all published reads and scheduling writes in its associated company. No app permission scopes.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"apiKey","name":"Authorization"}],"title":"apiKey"}]},"originalFileLocation":"openapi.json"},"subdomain":"breezy-fsm","siteName":"Breezy FSM API","title":"Breezy FSM API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-24T17:30:52.773Z","originalFileLocation":"api-reference/scheduling/cancel-a-visit-and-remove-its-assignments.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Breezy FSM API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Breezy FSM API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Scheduling and operational and financial reporting: resources, pagination, business measures, and examples.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Breezy FSM API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://breezy-fsm.mintlify.site/_mintlify/api/og/v2?division=Scheduling\u0026amp;title=Cancel+a+visit+and+remove+its+assignments\u0026amp;description=Company-scoped+scheduling+write+available+to+every+valid+API+key.+Requires+Idempotency-Key%3B+retries+with+the+same+caller%2C+key+and+parsed+request+return+the+comm\u0026amp;theme=eaf35dcff08c044ed1225cc1\u0026amp;signature=ad367f6875495c6923d9e7c5371e6dc1ec80d1fa257f422451edad14fc96c66e\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Breezy FSM API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Scheduling and operational and financial reporting: resources, pagination, business measures, and examples.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://breezy-fsm.mintlify.site/_mintlify/api/og/v2?division=Scheduling\u0026amp;title=Cancel+a+visit+and+remove+its+assignments\u0026amp;description=Company-scoped+scheduling+write+available+to+every+valid+API+key.+Requires+Idempotency-Key%3B+retries+with+the+same+caller%2C+key+and+parsed+request+return+the+comm\u0026amp;theme=eaf35dcff08c044ed1225cc1\u0026amp;signature=ad367f6875495c6923d9e7c5371e6dc1ec80d1fa257f422451edad14fc96c66e\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/breezy-fsm/dnF4NhhH8j4iUnof/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Breezy FSM API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0958D9\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developers.getbreezyapp.com/#organization\",\"name\":\"Breezy FSM API\",\"url\":\"https://developers.getbreezyapp.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/breezy-fsm/oiZqxfHjJWgR4SxV/logo/breezy-light.svg?fit=max\u0026auto=format\u0026n=oiZqxfHjJWgR4SxV\u0026q=85\u0026s=0d4ab09c4ec7a4400a349d0f2977aab8\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developers.getbreezyapp.com#website\",\"name\":\"Breezy FSM API\",\"url\":\"https://developers.getbreezyapp.com\",\"publisher\":{\"@id\":\"https://developers.getbreezyapp.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments#webpage\",\"url\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments\",\"name\":\"Cancel a visit and remove its assignments\",\"description\":\"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.\",\"dateModified\":\"2026-09-24T17:30:52.773Z\",\"isPartOf\":{\"@id\":\"https://developers.getbreezyapp.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Scheduling\",\"item\":\"https://developers.getbreezyapp.com/api-reference/scheduling/read-a-complete-operational-schedule\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cancel a visit and remove its assignments\",\"item\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments#apireference\",\"headline\":\"Cancel a visit and remove its assignments\",\"name\":\"Cancel a visit and remove its assignments\",\"description\":\"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.\",\"url\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments\",\"mainEntityOfPage\":{\"@id\":\"https://developers.getbreezyapp.com/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments#webpage\"},\"dateModified\":\"2026-09-24T17:30:52.773Z\",\"publisher\":{\"@id\":\"https://developers.getbreezyapp.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developers.getbreezyapp.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Breezy FSM API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Breezy FSM API","nav":{"global":null,"tabs":[{"tab":"Start here","pages":[{"title":"Start here","href":"/quickstart"}]},{"tab":"Reporting guides","pages":[{"title":"Reporting guides","href":"/choose-your-data"}]},{"tab":"API reference","groups":[{"group":"Scheduling","pages":[{"title":"Read a complete operational schedule","deprecated":null,"version":null,"openapi":"/openapi.json get /schedule","href":"/api-reference/scheduling/read-a-complete-operational-schedule"},{"title":"Read members, arrival windows and calendar display bounds","deprecated":null,"version":null,"openapi":"/openapi.json get /schedule/settings","href":"/api-reference/scheduling/read-members-arrival-windows-and-calendar-display-bounds"},{"title":"Read one visit with all assignments and its write revision","deprecated":null,"version":null,"openapi":"/openapi.json get /schedule/appointments/{id}","href":"/api-reference/scheduling/read-one-visit-with-all-assignments-and-its-write-revision"},{"title":"Create a visit for an existing job","deprecated":null,"version":null,"openapi":"/openapi.json post /job-appointments","href":"/api-reference/scheduling/create-a-visit-for-an-existing-job"},{"title":"Edit or reschedule a visit and its assignments atomically","deprecated":null,"version":null,"openapi":"/openapi.json patch /job-appointments/{id}","href":"/api-reference/scheduling/edit-or-reschedule-a-visit-and-its-assignments-atomically"},{"title":"Add one technician to a visit","deprecated":null,"version":null,"openapi":"/openapi.json post /job-assignments","href":"/api-reference/scheduling/add-one-technician-to-a-visit"},{"title":"Remove one assignment while retaining the visit","deprecated":null,"version":null,"openapi":"/openapi.json delete /job-assignments/{id}","href":"/api-reference/scheduling/remove-one-assignment-while-retaining-the-visit"},{"title":"Move or reassign one technician without replacing the visit","description":"Company-scoped scheduling write available to every valid API key. Requires Idempotency-Key; retries with the same caller, key and parsed request return the committed visit without repeating the change or customer notification. Reusing a key with different input returns 409. Updates require expected_revision from the schedule visit read. Omitted or null customer_notification sends nothing. Explicit notifications use the selected account contact primary channel. Notification failure does not roll back scheduling; UNKNOWN may have reached the provider and is never automatically resent. SUPPRESSED means the visit revision or recipient eligibility changed before delivery. Write timestamps support at most six fractional digits; UUIDs are case-insensitive. Assignment changes preserve the arrival window unless explicitly updated. Outside-window work requires allow_outside_window=true. No availability or double-booking guarantee. Active/completed assignment changes return 409. See the scheduling guide for replacement arrays, reminders and deferred workflows.","deprecated":null,"version":null,"openapi":"/openapi.json patch /job-assignments/{id}","href":"/api-reference/scheduling/move-or-reassign-one-technician-without-replacing-the-visit"},{"title":"Cancel a visit and remove its assignments","deprecated":null,"version":null,"openapi":"/openapi.json post /job-appointments/{id}/cancel","href":"/api-reference/scheduling/cancel-a-visit-and-remove-its-assignments"}]},{"group":"Company","pages":[{"title":"Read the company associated with this key","description":"Read only within the company associated with the validated key.","deprecated":null,"version":null,"openapi":"/openapi.json get /company","href":"/api-reference/company/read-the-company-associated-with-this-key"}]},{"group":"Invoices","pages":[{"title":"Page complete invoices","deprecated":null,"version":null,"openapi":"/openapi.json get /invoices","href":"/api-reference/invoices/page-complete-invoices"},{"title":"Read one complete invoice","deprecated":null,"version":null,"openapi":"/openapi.json get /invoices/{invoice_id}","href":"/api-reference/invoices/read-one-complete-invoice"}]},{"group":"Payments","pages":[{"title":"Page payments with their invoice allocations","deprecated":null,"version":null,"openapi":"/openapi.json get /payments","href":"/api-reference/payments/page-payments-with-their-invoice-allocations"},{"title":"Read one payment","deprecated":null,"version":null,"openapi":"/openapi.json get /payments/{payment_id}","href":"/api-reference/payments/read-one-payment"}]},{"group":"Refunds","pages":[{"title":"Page refunds using their own occurrence dates","deprecated":null,"version":null,"openapi":"/openapi.json get /refunds","href":"/api-reference/refunds/page-refunds-using-their-own-occurrence-dates"},{"title":"Read one refund","deprecated":null,"version":null,"openapi":"/openapi.json get /refunds/{refund_id}","href":"/api-reference/refunds/read-one-refund"}]},{"group":"Reports","pages":[{"title":"Summarize invoice activity by issue date","deprecated":null,"version":null,"openapi":"/openapi.json get /reports/invoice-activity","href":"/api-reference/reports/summarize-invoice-activity-by-issue-date"},{"title":"Summarize successful payments and refunds","deprecated":null,"version":null,"openapi":"/openapi.json get /reports/collections","href":"/api-reference/reports/summarize-successful-payments-and-refunds"},{"title":"Read current account aging","deprecated":null,"version":null,"openapi":"/openapi.json get /reports/receivables-aging","href":"/api-reference/reports/read-current-account-aging"},{"title":"Summarize recorded job profitability","deprecated":null,"version":null,"openapi":"/openapi.json get /reports/job-profitability","href":"/api-reference/reports/summarize-recorded-job-profitability"},{"title":"Summarize full-job profitability for assigned members","deprecated":null,"version":null,"openapi":"/openapi.json get /reports/technician-participation-profitability","href":"/api-reference/reports/summarize-full-job-profitability-for-assigned-members"},{"title":"Summarize recorded sold and earned credits by member","deprecated":null,"version":null,"openapi":"/openapi.json get /reports/revenue-attribution","href":"/api-reference/reports/summarize-recorded-sold-and-earned-credits-by-member"}]},{"group":"TeamMembers","pages":[{"title":"Page team members","deprecated":null,"version":null,"openapi":"/openapi.json get /team-members","href":"/api-reference/teammembers/page-team-members"},{"title":"Read one team member","deprecated":null,"version":null,"openapi":"/openapi.json get /team-members/{id}","href":"/api-reference/teammembers/read-one-team-member"}]},{"group":"Accounts","pages":[{"title":"Page accounts","deprecated":null,"version":null,"openapi":"/openapi.json get /accounts","href":"/api-reference/accounts/page-accounts"},{"title":"Read one account","deprecated":null,"version":null,"openapi":"/openapi.json get /accounts/{id}","href":"/api-reference/accounts/read-one-account"}]},{"group":"Contacts","pages":[{"title":"Page contacts","deprecated":null,"version":null,"openapi":"/openapi.json get /contacts","href":"/api-reference/contacts/page-contacts"},{"title":"Read one contact","deprecated":null,"version":null,"openapi":"/openapi.json get /contacts/{id}","href":"/api-reference/contacts/read-one-contact"}]},{"group":"Locations","pages":[{"title":"Page locations","deprecated":null,"version":null,"openapi":"/openapi.json get /locations","href":"/api-reference/locations/page-locations"},{"title":"Read one location","deprecated":null,"version":null,"openapi":"/openapi.json get /locations/{id}","href":"/api-reference/locations/read-one-location"}]},{"group":"Jobs","pages":[{"title":"Page jobs","deprecated":null,"version":null,"openapi":"/openapi.json get /jobs","href":"/api-reference/jobs/page-jobs"},{"title":"Read one job","deprecated":null,"version":null,"openapi":"/openapi.json get /jobs/{id}","href":"/api-reference/jobs/read-one-job"}]},{"group":"JobAppointments","pages":[{"title":"Page job appointments","deprecated":null,"version":null,"openapi":"/openapi.json get /job-appointments","href":"/api-reference/jobappointments/page-job-appointments"},{"title":"Read one job appointment","deprecated":null,"version":null,"openapi":"/openapi.json get /job-appointments/{id}","href":"/api-reference/jobappointments/read-one-job-appointment"}]},{"group":"JobAssignments","pages":[{"title":"Page job assignments","deprecated":null,"version":null,"openapi":"/openapi.json get /job-assignments","href":"/api-reference/jobassignments/page-job-assignments"},{"title":"Read one job assignment","deprecated":null,"version":null,"openapi":"/openapi.json get /job-assignments/{id}","href":"/api-reference/jobassignments/read-one-job-assignment"}]},{"group":"BusinessUnits","pages":[{"title":"Page business units","deprecated":null,"version":null,"openapi":"/openapi.json get /business-units","href":"/api-reference/businessunits/page-business-units"},{"title":"Read one business unit","deprecated":null,"version":null,"openapi":"/openapi.json get /business-units/{id}","href":"/api-reference/businessunits/read-one-business-unit"}]},{"group":"JobTypes","pages":[{"title":"Page job types","deprecated":null,"version":null,"openapi":"/openapi.json get /job-types","href":"/api-reference/jobtypes/page-job-types"},{"title":"Read one job type","deprecated":null,"version":null,"openapi":"/openapi.json get /job-types/{id}","href":"/api-reference/jobtypes/read-one-job-type"}]},{"group":"JobClasses","pages":[{"title":"Page job classes","deprecated":null,"version":null,"openapi":"/openapi.json get /job-classes","href":"/api-reference/jobclasses/page-job-classes"},{"title":"Read one job class","deprecated":null,"version":null,"openapi":"/openapi.json get /job-classes/{id}","href":"/api-reference/jobclasses/read-one-job-class"}]},{"group":"JobLifecycles","pages":[{"title":"Page job lifecycles","deprecated":null,"version":null,"openapi":"/openapi.json get /job-lifecycles","href":"/api-reference/joblifecycles/page-job-lifecycles"},{"title":"Read one job lifecycle","deprecated":null,"version":null,"openapi":"/openapi.json get /job-lifecycles/{id}","href":"/api-reference/joblifecycles/read-one-job-lifecycle"}]},{"group":"LeadSources","pages":[{"title":"Page lead sources","deprecated":null,"version":null,"openapi":"/openapi.json get /lead-sources","href":"/api-reference/leadsources/page-lead-sources"},{"title":"Read one lead source","deprecated":null,"version":null,"openapi":"/openapi.json get /lead-sources/{id}","href":"/api-reference/leadsources/read-one-lead-source"}]},{"group":"Tags","pages":[{"title":"Page tags","deprecated":null,"version":null,"openapi":"/openapi.json get /tags","href":"/api-reference/tags/page-tags"},{"title":"Read one tag","deprecated":null,"version":null,"openapi":"/openapi.json get /tags/{id}","href":"/api-reference/tags/read-one-tag"}]},{"group":"Estimates","pages":[{"title":"Page estimates","deprecated":null,"version":null,"openapi":"/openapi.json get /estimates","href":"/api-reference/estimates/page-estimates"},{"title":"Read one estimate","deprecated":null,"version":null,"openapi":"/openapi.json get /estimates/{id}","href":"/api-reference/estimates/read-one-estimate"}]},{"group":"JobLeads","pages":[{"title":"Page job leads","deprecated":null,"version":null,"openapi":"/openapi.json get /job-leads","href":"/api-reference/jobleads/page-job-leads"},{"title":"Read one job lead","deprecated":null,"version":null,"openapi":"/openapi.json get /job-leads/{id}","href":"/api-reference/jobleads/read-one-job-lead"}]},{"group":"Equipment","pages":[{"title":"Page equipment","deprecated":null,"version":null,"openapi":"/openapi.json get /equipment","href":"/api-reference/equipment/page-equipment"},{"title":"Read one equipment","deprecated":null,"version":null,"openapi":"/openapi.json get /equipment/{id}","href":"/api-reference/equipment/read-one-equipment"}]},{"group":"FormResponses","pages":[{"title":"Page form responses","deprecated":null,"version":null,"openapi":"/openapi.json get /form-responses","href":"/api-reference/formresponses/page-form-responses"},{"title":"Read one form response","deprecated":null,"version":null,"openapi":"/openapi.json get /form-responses/{id}","href":"/api-reference/formresponses/read-one-form-response"}]},{"group":"TimeEntries","pages":[{"title":"Page recorded time entries","deprecated":null,"version":null,"openapi":"/openapi.json get /time-entries","href":"/api-reference/timeentries/page-recorded-time-entries"},{"title":"Read one time entry","deprecated":null,"version":null,"openapi":"/openapi.json get /time-entries/{id}","href":"/api-reference/timeentries/read-one-time-entry"}]},{"group":"Timesheets","pages":[{"title":"Page members in a configured timesheet period","deprecated":null,"version":null,"openapi":"/openapi.json get /timesheets","href":"/api-reference/timesheets/page-members-in-a-configured-timesheet-period"},{"title":"Read one member’s configured-period timesheet","deprecated":null,"version":null,"openapi":"/openapi.json get /timesheets/{team_member_id}","href":"/api-reference/timesheets/read-one-member’s-configured-period-timesheet"}]},{"group":"JobFinancials","pages":[{"title":"Page jobs with recorded costs and costing revenue","deprecated":null,"version":null,"openapi":"/openapi.json get /job-financials","href":"/api-reference/jobfinancials/page-jobs-with-recorded-costs-and-costing-revenue"},{"title":"Read the recorded financials of one job","deprecated":null,"version":null,"openapi":"/openapi.json get /job-financials/{id}","href":"/api-reference/jobfinancials/read-the-recorded-financials-of-one-job"}]},{"group":"RevenueAttributions","pages":[{"title":"Page jobs with complete saved sold and earned credits","deprecated":null,"version":null,"openapi":"/openapi.json get /revenue-attributions","href":"/api-reference/revenueattributions/page-jobs-with-complete-saved-sold-and-earned-credits"},{"title":"Read the complete saved revenue credits of one job","deprecated":null,"version":null,"openapi":"/openapi.json get /revenue-attributions/{id}","href":"/api-reference/revenueattributions/read-the-complete-saved-revenue-credits-of-one-job"}]}]}]},"basePath":"","title":"Breezy FSM API","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}