There’s no version in the path
Every route is/api/{resource}: /api/jobs, /api/jobs/feed, /api/companies/{id}. There is no /v1/ or /v2/ segment, and there never has been. Don’t build URLs that expect one.
The OpenAPI document’s info.version is a date, currently 2026-08-31. It tracks the spec, so a new date does not mean an incompatible change.
The one exception: Auto Apply
Auto Apply is the only surface with an explicit contract version. Every Auto Apply and mailbox response, error bodies included, carries anapi_version field, currently 2026-08-31.
Auto Apply is coming soon, and you can build against the sandbox today. If the synchronous contract changes before launch, api_version is how you’ll tell.
The compatibility contract
Every breaking change is announced ahead of time in the changelog. A client that rejects an unrecognized field or
source value will break as the API grows.
Writing a client that survives change
- Deserialize permissively and ignore unknown fields. A new field on a job or company object must not raise an exception.
- Don’t depend on field order. JSON key order is not part of the contract.
- Branch on the status and the
codefield. When there is nocode, match theerrorortitlestring. Never matchdetailormessage, which are prose and may be reworded without notice. See Errors. - Treat
sourceas an open set. Don’t hardcode an enum of valid values, and don’t reject jobs from a source you don’t recognize. - Pin the client library version in your dependency file and upgrade deliberately. See Client libraries.

