Ready App Partner API — TruckX Integration Preview (draft-2026-07-02)

Download OpenAPI specification:

Draft preview of the Ready App driver-passport document-sharing surface for the TruckX integration.

Consent model: passport data is driver-owned. Each document carries a driver-controlled shareability flag; only documents the driver has marked shareable are visible to partners.

Authentication: endpoints shown use bearer tokens. Dedicated, scoped partner credentials will be provisioned for TruckX as part of the integration; details follow in the full integration guide.

This preview is shared under NDA, is subject to change, and is not a commitment of endpoint availability for server-to-server use until partner credentials are issued.

user_management

Upload driver documents (v2, JSON base64 or multipart)

Bulk-create DriverDocument rows. Accepts application/json with documents[].file as base64, or multipart/form-data using bracketed keys documents[0][name], documents[0][file], documents[0][issue_date], documents[0][expiration_date], documents[0][document_type_id] or documents[0][custom_document_type], documents[0][is_shareable_with_broker_shipper]. Exactly one of document_type_id / custom_document_type per item; custom types are created (or reused) per driver. is_shareable_with_broker_shipper defaults to true.

Authorizations:
bearerAuth
Request Body schema:
required
required
Array of objects (UMBDocumentV2Item)

Responses

Request samples

Content type
{
  • "documents": [
    ]
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": { }
}

Add driver certifications (v2)

Bulk-create DriverInstitute certification rows for the authenticated driver. Items use issue_date/expiration_date in DD/MM/YYYY. Validation errors are returned inside a 200/201 envelope (status=false, status_code=400), not as HTTP 400.

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (UMBCertificationItem)

Responses

Request samples

Content type
application/json
{
  • "certification": [
    ]
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": { }
}

Add driver endorsements (v2)

Bulk-create DriverEndorsement rows with issue_date and expiration_date (DD/MM/YYYY, expiration must be after issue).

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
Array of objects (UMBEndorsementV2Item)

Responses

Request samples

Content type
application/json
{
  • "endorsement": [
    ]
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": { }
}

Get the logged-in driver's full profile

Driver profile with vehicles, document type list, experiences, DOT form completion and marketing consent flags. Always returned with HTTP 200 on success. A non-driver caller gets HTTP 403 from the IsDriver permission class (the in-body 401 branch in the view is dead code behind IsDriver).

Authorizations:
bearerAuth
query Parameters
tz
string
Default: "0:00"

Client timezone offset used when building documents_type list

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "message": "string",
  • "status_code": 0,
  • "data": [
    ]
}

Required-document status for the logged-in driver

Status per canonical required document type with every upload listed in uploaded_documents. Optional company_id switches the required list to that company's require_* flags (same rules as submission validation).

Authorizations:
bearerAuth
query Parameters
company_id
integer

Use this company's verification requirements instead of the full fixed list

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "data": {
    }
}

List/search broker-verify-visible companies for drivers

Authorizations:
bearerAuth
query Parameters
q
string

Matches company name, description, or load pickup/delivery cities

page
integer >= 1
Default: 1
page_size
integer [ 1 .. 100 ]
Default: 20

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "data": {
    }
}

Company detail plus its active loads for drivers

Authorizations:
bearerAuth
path Parameters
company_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "data": {
    }
}

Driver submits their profile to a broker-verify company

Validates duplicate submissions, questionnaire booleans, experience/document ownership, expiry of shared documents and required-document completeness (validate_driver_documents per company require_* flags) before creating a DriverProfileSubmission with status "Submitted".

Authorizations:
bearerAuth
Request Body schema:
required
company_id
required
integer
selected_experience_ids
Array of integers

Required (non-empty) when own_authority is false; ids must belong to the driver

shared_document_ids
Array of integers

Must belong to the driver and be unexpired

drug_test
required
boolean
own_truck
required
boolean
own_authority
required
boolean
carrier_company_id
integer or null

DriverExperience pk used as carrier reference

Responses

Request samples

Content type
{
  • "company_id": 0,
  • "selected_experience_ids": [
    ],
  • "shared_document_ids": [
    ],
  • "drug_test": true,
  • "own_truck": true,
  • "own_authority": true,
  • "carrier_company_id": 0
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": {
    }
}

social_app

Toggle a document's broker/shipper share flag

Driver updates is_shareable_with_broker_shipper on one of their own documents. Ownership enforced.

Authorizations:
bearerAuth
Request Body schema: application/json
required
document_id
required
integer
is_shareable_with_broker_shipper
required
boolean

Responses

Request samples

Content type
application/json
{
  • "document_id": 0,
  • "is_shareable_with_broker_shipper": true
}

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": {
    }
}

Get one of the driver's own documents (ownership enforced)

Authorizations:
bearerAuth
path Parameters
document_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": {
    }
}

List own driver documents filtered by document type

Returns the authenticated user's DriverDocument records for a given document_type_id, with edit/delete URLs.

Authorizations:
bearerAuth
query Parameters
document_type_id
required
integer

DocumentsType primary key.

Responses

Response samples

Content type
application/json
{
  • "status": true,
  • "status_code": 0,
  • "message": "string",
  • "data": {
    }
}

Merge a driver's shareable documents into a single PDF

Fetches DriverDocument files flagged shareable_with_broker_shipper for the given profile_id, merges them into one PDF in S3, and returns a presigned URL.

Authorizations:
bearerAuth
query Parameters
profile_id
required
integer

Driver Profile primary key.

Responses

Response samples

Content type
application/json
{
  • "key_url": "string",
  • "message": "string",
  • "skipped_files": [
    ],
  • "failed_files": [
    ]
}