Recent updates
November 19, 2025 - Multi-Region Database Support
We’ve added multi-region database routing to support clients in both Australia and the United States.What’s New
- Region-based Routing: Route API requests to your client’s regional tenant using the
X-BuildPass-Region-Idheader - Supported Regions:
au1- Australia (Sydney) - Defaultus1- United States (Ohio)
Usage
Include the region header in your API requests to connect to your client’s tenant:Migration
No migration is required for existing Australian clients:- Australian clients: Continue without the header (defaults to
au1) or explicitly addX-BuildPass-Region-Id: au1 - United States clients: Add
X-BuildPass-Region-Id: us1to all requests for these clients
Best Practices
- Store each client’s region identifier with their credentials
- Use the same region for token generation and all API requests for a client
- When onboarding new clients, confirm their region with BuildPass
November 11, 2025 - New Inductions API endpoints
We’ve added new endpoints to help you integrate with BuildPass induction data:Inductions API
New endpoints for accessing induction records:-
GET /subcontractors/<id>/inductions - Get all inductions for workers associated with a subcontractor
- Filter by project ID, status, and type
- Supports pagination with offset/limit
- Returns induction details including type, status, worker, subcontractor
-
GET /builders/<builderId>/projects/<projectId>/inductions - Get all inductions for a project
- Filter by status
- Supports pagination with offset/limit
- Returns induction details including type, status, and worker information
-
GET /builders/<builderId>/projects/<projectId>/inductions/<identifierOrId> - Get a specific induction
- Supports lookup by project-specific identifier (e.g.
5) or induction ID (e.g.ind_abc123) - Automatically returns latest version when version history exists
- Returns full induction details with worker, subcontractor, project, and responses
- Supports lookup by project-specific identifier (e.g.
read:inductions scope and follow the same authentication patterns as other API endpoints.
January 15, 2025 - Subcontractor endpoints improvements
Enhanced performance and reliability for subcontractor status data:-
GET /subcontractors - List subcontractors
- Subcontractor statuses are now properly filtered based on the
projectIdquery parameter when provided - Fixed an issue that caused duplicate statuses to appear in responses
- Subcontractor statuses are now properly filtered based on the
-
GET /subcontractors/<id> - Get subcontractor
- Added support for the
projectIdquery parameter to retrieve project-specific status information
- Added support for the
June 25, 2025 - OAuth 2.0 authentication enhancements
We’ve enhanced our authentication system to more effectively comply with the OAuth 2.0 standards:New features
- HTTP Basic Authentication: You can now authenticate using HTTP Basic Authentication in addition to the existing request body method
- Pass client credentials via the
Authorization: Basic <credentials>header - Credentials should be Base64-encoded in the format
client_id:client_secret - Request body credentials take precedence when both methods are used
- Pass client credentials via the
Changes
- Standardized Token Expiration: The
expiresfield has been renamed toexpires_in. The value of this field has not changed. - Enhanced Security: Improved request validation and error handling.
Migration guide
You must ensure your code properly handles theexpires_in field. This can be used to determine when a new token is necessary. The expires field will be maintained until the 25th of September, 2025.
May 26th, 2025 - New API endpoints
Timesheets API
We’ve added comprehensive timesheet management endpoints to help you integrate with BuildPass timesheet data:-
GET /timesheets - Retrieve all timesheets for a builder with filtering options
- Filter by project, status, and date range
- Supports pagination with offset/limit
- Returns timesheet details including hours, notes, time types, and cost codes
-
GET /timesheets/<timesheetId> - Get a specific timesheet by ID
- Includes associated profile and project information
- Full timesheet details with approval status
-
GET /timesheets/time-types - Get configured time types for a builder
- Returns available time categories (e.g., “Regular Hours”, “Overtime”, “Annual Leave”)
-
GET /timesheets/cost-codes - Get configured cost codes for a builder
- Returns project cost codes for timesheet categorization
SWMS (Safe Work Method Statements) API
New endpoints for accessing SWMS documents:-
GET /subcontractors/<id>/swms - Get all SWMS documents for a subcontractor
- Filter by project ID and review status
- Supports pagination
- Returns document metadata and review status
-
GET /subcontractors/<id>/swms/<swmsDocId> - Get a specific SWMS document
- Includes document URL for download
- Shows current review status and approval state
read:timesheets and read:swms) and follow the same authentication patterns as other API endpoints.