• Getting Started
  • API Reference

BScheduler Partner Integration Gateway

Purpose of the Integration

This Partner Integration Gateway provides partner-facing API endpoints for scheduling operations in BScheduler. The gateway translates between partner-specific terminology and BScheduler internals, allowing partners such as Truckmore to interact with BScheduler using their own field names and conventions.

Getting Started

API Key Requirements

To use this integration, partners must obtain an API key from BlueTread. Each API key is:

  • Unique to the tenant/account - Ensures secure, isolated access per tenant
  • Provided and managed by BlueTread - Contact BlueTread to receive your API key
  • Required for all requests - Must be included in the Authorization header

Authentication

Include your API key in the Authorization header of every request:

Code
Authorization: Bearer YOUR_API_KEY_HERE

Partner Endpoints (Truckmore)

GET /truckmore/api/v1/rooftops

Returns available rooftops (locations) for scheduling.

Response Example:

Code
{ "success": true, "result": [ { "rooftopId": 1, "rooftopName": "Main Street Location" } ] }

GET /truckmore/api/v1/timeslots

Returns available timeslots for a rooftop on a given date.

Query Parameters:

ParameterTypeRequiredDescription
rooftopIdnumberYesRooftop ID from /rooftops
selectedDatestringYesDate to check (format: YYYY-MM-DD)

Response Example:

Code
{ "success": true, "result": [ { "startTimeUtc": "2026-04-09T09:00:00Z", "endTimeUtc": "2026-04-09T10:00:00Z", "timezone": "America/Chicago" } ] }

POST /truckmore/api/v1/fleets/search

Searches for fleets by name.

Request Body:

Code
{ "fleetName": "Acme Trucking" }

Response Example:

Code
{ "success": true, "result": [ { "fleetId": 42, "fleetName": "Acme Trucking Inc." } ] }

POST /truckmore/api/v1/appointments

Creates a new appointment.

Request Body:

ParameterTypeRequiredDescription
fleetIdnumberYesFleet ID from /fleets/search
rooftopIdnumberYesRooftop ID from /rooftops
startstringYesStart time (UTC, ISO 8601) matching a startTimeUtc from /timeslots

Request Example:

Code
{ "fleetId": 42, "rooftopId": 1, "start": "2026-04-09T09:00:00Z" }

Response Example:

Code
{ "success": true, "result": { "id": 123, "start": "2026-04-09T09:00:00Z", "end": "2026-04-09T10:00:00Z", "rooftopId": 1, "rooftopName": "Main Street Location", "fleetId": 42, "appointmentStatusStatus": "Scheduled", "assignedTo": "Tech A" } }

POST /truckmore/api/v1/appointments/cancel

Cancels an existing appointment by ID.

Request Body:

Code
{ "id": 123 }

Error Responses

Status CodeDescription
400Bad Request - Invalid input or missing required fields
401Unauthorized - Invalid or missing API key
403Forbidden - Insufficient permissions
429Too Many Requests - Rate limit exceeded
500Internal Server Error - Processing failed
503Service Unavailable - Backend service temporarily unavailable

Support

For API key requests, technical support, or questions about the integration:

  • Email: [email protected]
  • Purpose: API key provisioning and integration assistance
Last modified on April 29, 2026
On this page
  • Purpose of the Integration
  • Getting Started
    • API Key Requirements
    • Authentication
  • Partner Endpoints (Truckmore)
    • GET /truckmore/api/v1/rooftops
    • GET /truckmore/api/v1/timeslots
    • POST /truckmore/api/v1/fleets/search
    • POST /truckmore/api/v1/appointments
    • POST /truckmore/api/v1/appointments/cancel
  • Error Responses
  • Support
JSON
JSON
JSON
JSON
JSON
JSON
JSON