Skip to content

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.

  • API keys — Personal, long-lived bearer tokens for your own backend integrations, internal scripts, and CI jobs. Created by a company_admin in 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.
  • Base URL: https://app.buildworkpro.com/api/v1
  • Response envelope: Successful responses return { "data": ..., "meta": { "request_id": "..." } }. List responses include meta.pagination.
  • Errors: RFC 9457 problem details (application/problem+json) with a stable code, machine-readable type, and request_id for 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-* and Retry-After headers.
  • Discovery: OAuth metadata at /.well-known/oauth-authorization-server. OpenAPI spec at /api/v1/openapi.json.