Getting started
Errors
Every error response is an RFC 7807 problem document. Switch on type — title is for humans and may change wording.
Catalog
https://gateway/errors/invalid-body400
Request body failed to parse or didn’t match the expected shape.
https://gateway/errors/invalid-query400
One or more query parameters failed validation.
https://gateway/errors/invalid-path400
A required path parameter (e.g. a job or site ID) was missing.
https://gateway/errors/unknown-custom-field400
A key sent under custom_fields isn’t available to your integration.
https://gateway/errors/project-not-in-scope400
The project ID you sent isn’t one you can use.
https://gateway/errors/customer-not-in-scope400
The customer ID you sent isn’t one you can use.
https://gateway/errors/field-not-writable400
A field in the body isn’t writable for your integration.
https://gateway/errors/unauthorized401
Missing, invalid, or insufficiently scoped bearer key.
https://gateway/errors/no-scope403
Your key has no customers attached yet. Contact us to finish setup.
https://gateway/errors/not-found404
The job or site doesn’t exist, or isn’t accessible to your key.
https://gateway/errors/editing-locked409
The job has progressed past the editable states. Contact your scheduling team to change it.
https://gateway/errors/cancellation-locked409
The job is past the point where it can be cancelled via the API.
https://gateway/errors/multi-customer-create-unsupported409
Your key spans multiple customers; job creation needs a single-customer scope.
https://gateway/errors/state-not-configured422
state=open|closed was used but your tenant has no open/closed statuses configured.
https://gateway/errors/no-projects-configured422
A project is required to create a job, but your key has none in scope.
https://gateway/errors/job-type-required422
No job_type was sent and your tenant has no default job type configured.
https://gateway/errors/invalid-request422
FieldInsight rejected the upstream request (status mirrors FieldInsight — usually 422, sometimes 400).
https://gateway/errors/rate-limited429
You’ve exceeded the budget. Back off and retry after ~1–2 seconds with jitter.
https://gateway/errors/internal500
Something went wrong on our side. Retry; if it persists, contact us with the request ID.
https://gateway/errors/not-implemented501
A planned endpoint that isn’t live yet (e.g. job photos — coming soon).
https://gateway/errors/upstream-scope-violation502
Upstream response was rejected before reaching you, for safety.
https://gateway/errors/schema-drift502
Upstream response didn’t match the expected shape. Retry; if it persists, contact us.
https://gateway/errors/writes-disabled503
Writes aren’t enabled for your integration yet. Contact us.
https://gateway/errors/cancel-not-configured503
Cancellation isn’t enabled for your integration yet. Contact us.