Developer Docs
BuildWorkPro is a multi-tenant construction project management platform for subcontractors. The public REST API mirrors the workflows you use in the app: contacts and CRM, bids and estimates, projects, change orders, pay applications, site logs, and time entries. Build internal automations, sync data with your accounting tools, or ship a third-party integration in our marketplace.
Quickstart From zero to your first API call in 5 minutes.
Authentication API keys for backend tools, OAuth 2.1 for third-party apps.
Webhooks Receive real-time events when records change.
API Reference Every endpoint, schema, and scope.
Two ways to authenticate
Section titled “Two ways to authenticate”- API keys — Personal, long-lived bearer tokens for your own backend integrations, internal scripts, and CI jobs. Created by a
company_adminin Settings -> Developer. - OAuth 2.1 — For third-party apps that act on behalf of a BuildWorkPro user. Supports Dynamic Client Registration (RFC 7591), PKCE (S256), and refresh-token rotation with reuse detection.
Conventions
Section titled “Conventions”- Base URL:
https://app.buildworkpro.com/api/v1 - Response envelope: Successful responses return
{ "data": ..., "meta": { "request_id": "..." } }. List responses includemeta.pagination. - Errors: RFC 9457 problem details (
application/problem+json) with a stablecode, machine-readabletype, andrequest_idfor support. - Pagination: Cursor-based, opaque, HMAC-signed.
?limit=defaults to 25, max 100. - Idempotency: Send
Idempotency-Key: <uuid>on every mutation. Responses are replayed for 24 hours. - Rate limits: Tenant-wide hourly budget plus per-key per-minute limit. Honor the
RateLimit-*andRetry-Afterheaders. - Discovery: OAuth metadata at
/.well-known/oauth-authorization-server. OpenAPI spec at/api/v1/openapi.json.