The version is in the path.
Each endpoint lives under /rest/v1.0, /rest/v1.1 or /rest/v2.0. A new version of an endpoint is added at a new path, next to the old one, so the URL you call says exactly which shape you get.
Versions
- v1.01295 implementedThe base version. Almost every tool starts here.
- v1.161 implementedNewer shapes for Direct Uploads, Daily Log, Drawings, Forms, Meetings, Punch List, Schedule, Submittals, Direct Costs, Bidding. The v1.0 paths for those tools still work.
- v2.03 implementedNewer shapes for Budget. The v1.0 paths for those tools still work.
- v2.1documented onlyListed in the contracts but not implemented yet. The reference marks these endpoints Documented.
Counts come from the generated REST reference.
# Most tools live under v1.0
curl https://app.os.construction/rest/v1.0/projects/{project_id}/rfis
# A newer version sits beside the old one, at its own path
curl "https://app.os.construction/rest/v1.1/punch_items?project_id={project_id}"
curl https://app.os.construction/rest/v2.0/companies/{company_id}/projects/{project_id}/budget_line_itemsWhat changes, and how
Adding things is not a new version: new endpoints, new optional request fields and new response fields can appear on an existing path. Ignore fields you don't know.
So far, changed shapes have shipped at a new version path, next to the old one. That's what the v1.1 and v2.0 paths are. A written deprecation policy, with how long old paths stay up, isn't published yet. It will be on this page.
Not versioned
/oauth/token and /oauth/revoke sit outside /rest and follow the OAuth 2.0 token conventions.
Changelog
- 2026-10REST API documented
Token endpoint, scopes, pagination headers, errors, rate limits and webhook subscriptions are written up here, with a reference generated from the app's API contracts.
Product releases are in the site changelog.