Cargomatic Carrier API
Endpoints for Cargomatic Carriers and Drivers
Endpoints for Cargomatic Carriers and Drivers
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/cargomatic:cargomatic-carrier-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Cargomatic Public Carrier API
description: '!Cargomatic
## Welcome to the Cargomatic API!
Our quoting, booking, and status APIs allow you to automate common workflows similar to features available within the Cargomatic portal.
Please reach out to apisupport@cargomatic.com for sandbox credentials to get started.'
version: 3.0.0
servers:
- url: https://api-acceptance.cargomatic.com
tags:
- name: Carrier
description: Endpoints for Cargomatic Carriers and Drivers
paths:
/shipments/appointment:
post:
operationId: updateAppointment
summary: Updates an existing appointment with a new status, start time, and/or end time.
tags:
- Carrier
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateShipmentRequest'
responses:
'200':
description: 'Status Code 200: Successful Response - the request was successful!'
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateShipmentResponse'
'400':
description: 'Status Code 400: Bad Request Response - the request header and/or body is invalid'
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'500':
description: 'Status Code 500: Internal Server Error Response - there''s a problem with the Public API service'
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
/shipments/accept:
post:
operationId: acceptShipment
summary: Accepts a Shipment
description: Accepts an offered shipment on behalf of the authenticated carrier. The `shipmentReference` of the shipment to accept is required.
tags:
- Carrier
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptShipmentRequest'
responses:
'200':
description: 'Status Code 200: Successful Response - the request was successful!'
content:
application/json:
schema:
$ref: '#/components/schemas/AcceptShipmentResponse'
'400':
description: 'Status Code 400: Bad Request Response - the request header and/or body is invalid'
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'500':
description: 'Status Code 500: Internal Server Error Response - there''s a problem with the Public API service'
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
/carrier/{carrierId}/driver:
post:
operationId: createDriver
summary: Creates a new Driver
description: Creates a new driver under the carrier identified by the `carrierId` path parameter.
tags:
- Carrier
security:
- bearerAuth: []
parameters:
- name: carrierId
in: path
description: Id of the carrier
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDriverRequest'
responses:
'200':
description: 'Status Code 200: Successful Response - the request was successful!'
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDriverResponse'
'400':
description: 'Status Code 400: Bad Request Response - the request header and/or body is invalid'
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'500':
description: 'Status Code 500: Internal Server Error Response - there''s a problem with the Public API service'
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
/shipment/assign:
put:
operationId: assignDriver
summary: Assigns a driver to a shipment
description: Assigns a driver to an accepted offer. Both the `offer_id` and the `driver_id` are required.
tags:
- Carrier
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssignDriverRequest'
responses:
'200':
description: 'Status Code 200: Successful Response - the request was successful!'
content:
application/json:
schema:
$ref: '#/components/schemas/AssignDriverResponse'
'400':
description: 'Status Code 400: Bad Request Response - the request header and/or body is invalid'
content:
application/json:
schema:
$ref: '#/components/schemas/BadRequestResponse'
'500':
description: 'Status Code 500: Internal Server Error Response - there''s a problem with the Public API service'
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerErrorResponse'
components:
schemas:
CreateDriverRequest:
type: object
required:
- first_name
- last_name
- username
- email
- password
- cdl_number
- receive_offers
- phone
- carrier
properties:
first_name:
type: string
example: john
last_name:
type: string
example: doe
username:
type: string
example: fakedriver123
email:
type: string
example: fake@gmail.com
password:
type: string
example: TestDriver1234
cdl_number:
type: string
example: 33333333
receive_offers:
type: boolean
phone:
type: string
example: 5555555555
carrier:
type: string
example: Cargomatic (demo)
UpdateShipmentResponse:
type: object
properties:
success:
type: boolean
stop:
type: object
properties:
stopId:
type: string
example: 64ac4a958bea65dbe619482b
status:
type: string
example: unstarted
locationName:
type: string
example: 21660 Copley
locationAddress:
type: string
example: 21660 Copley Dr Diamond Bar CA 91765 USA
windowStart:
type: string
format: date-time
example: 2022-07-14 19:00:00+00:00
windowEnd:
type: string
format: date-time
example: 2022-07-14 23:00:00+00:00
appointmentConfirmed:
type: boolean
complete:
type: boolean
missingDocs:
type: boolean
off_site:
type: boolean
sequence:
type: integer
format: int32
example: 2
AssignDriverRequest:
type: object
required:
- offer_id
- driver_id
properties:
offer_id:
type: string
example: 64ad7c876c1af2d3fd81230d
driver_id:
type: string
example: 64ac71ddb111de5422ff31ac
CreateDriverResponse:
type: object
properties:
success:
type: boolean
data:
type: object
properties:
driverId:
type: string
example: 64ac71ddb111de5422ff31ac
UpdateShipmentRequest:
type: object
required:
- shipmentReference
- stopId
properties:
shipmentReference:
type: string
example: 61f468826a139d5cfe58f0a2
stopId:
type: string
example: 61f468806a139d5cfe58f09d
windowStart:
type: string
format: date-time
example: 2022-03-28 19:00:00+00:00
windowEnd:
type: string
format: date-time
example: 2022-03-28 23:00:00+00:00
appointmentConfirmed:
type: boolean
AcceptShipmentResponse:
type: object
properties:
shipmentId:
type: string
example: 61f468826a139d5cfe58f0a2
status:
type: string
example: created
carrierId:
type: string
example: 60b7a951c2b827f9f5179454
stops:
type: array
items:
type: object
properties:
stopId:
type: string
example: 60b7a951c2b827f9f517945c
status:
type: string
example: unstarted
locationName:
type: string
example: Cargomatic HQ
locationAddress:
type: string
example: 211 E. Ocean Blvd Long Beach CA 90802
windowStart:
type: string
format: date-time
example: 2021-06-02 15:52:49.258000+00:00
windowEnd:
type: string
format: date-time
example: 2021-06-02 19:52:49.258000+00:00
appointmentConfirmed:
type: boolean
complete:
type: boolean
missingDocs:
type: boolean
InternalServerErrorResponse:
type: object
properties:
message:
type: string
example:
message: Internal Server Error
AssignDriverResponse:
type: object
properties:
success:
type: boolean
jobs:
type: array
items:
type: string
AcceptShipmentRequest:
type: object
required:
- shipmentReference
properties:
shipmentReference:
type: string
example: ABC-123
description: Reference of the shipment to accept.
BadRequestResponse:
type: object
properties:
message:
type: string
example:
message: Invalid Request Body
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
x-amazon-apigateway-cors:
allowOrigins:
- '*'
allowCredentials: true
exposeHeaders:
- x-apigateway-header
- x-amz-date
- content-type
maxAge: 3600
allowMethods:
- '*'
allowHeaders":
- x-apigateway-header
- x-amz-date
- content-type
- Authorization
x-provenance:
method: harvested
publisher: Cargomatic
source: https://api-docs.cargomatic.com/openapi.yml
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)