Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/loadsmart-capacity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API 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: Loadsmart Capacity API
x-logo:
altText: Loadsmart API
url: https://developer.loadsmart.com/logo.svg
description: "Loadsmart API provides endpoints to quote, book and track shipments autonomously.\n\n# Authentication\n\nLoadsmart API supports JWT tokens for authentication, signed using\npublic/private key pairs (RSA 4096).\n\n## What is JWT?\n\nJSON Web Token (JWT) is an [open standard](https://tools.ietf.org/html/rfc7519) used to\ncreate access tokens that contain some number of claims and is cryptographically signed by\nthe issuer, so its integrity can be verified without an auth server.\n\n## Token algorithm\n\nWe support JWT tokens signed using RS256 algorithm:\n\n```\n{\n \"alg\": \"RS256\",\n \"typ\": \"JWT\"\n}\n```\n\n## Required Claims\n\nFor the token payload, we require at least the following claims:\n\n- `sub`: Identifies the subject of the API call. This could be\n either `sys` (without any user or client context) or `usr:UUID`,\n where `UUID` is the uuid of the user that will provide the\n context for the API call.\n- `iss`: Identifies who issued the token. This will be provided by\n Loadsmart when setting up the integration.\n- `iat`: Standard \"issued at\" claim; should be an unix timestamp.\n- `exp`: Standard \"expires at\" claim; should be an unix timestamp.\n We recomend to keep the token as short-lived as possible - ideally\n it should not be valid for more than 1 minute. In the future,\n Loadsmart could reject tokens with high expiration times.\n\n## Using the token\n\nThe token must be present in the `Authorization` header on all\nrequests, following the format:\n\n```\nAuthorization: JWT <token>\n```\n\nEach part of the token is encoded in base64 and joined with a dot separating each encoded part -\nif you use a library to generate it (which is recommended), you don't need to worry about it.\n\n**Important: Authorization header value must have the prefix `JWT`**.\n\nSee an example:\n\n```\nAuthorization: JWT eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTUxNjIzOTAyMn0.TCYt5XsITJX1CxPCT8yAV-TVkIEq_PbChOMqsLfRoPsnsgw5WEuts01mq-pQy7UJiN5mgRxD-WUcX16dUEMGlv50aqzpqh4Qktb3rk-BuQy72IFLOqV0G_zS245-kronKb78cPN25DGlcTwLtjPAYuNzVBAh4vGHSrQyHUdBBPM\n```\n\n## Available contexts\n\nEach token has an implicit context associated with it (usually depending on the value of `sub`\nclaim). This context identifies to the API if the entity doing an action is an user or a system.\n\nLoadsmart API has different token contexts depending on the endpoint being called. Each endpoint\nwill specify the supported contexts (and required scopes) in `AUTHORIZATIONS` section.\n\n<!-- ReDoc-Inject: <security-definitions> -->\n\n## API Access\n\nTo start using Loadsmart API, please get in touch through your\npoint of contact. They will direct you through the proper flow.\n\n### Creating a public/private key pair\n\nFor JWT tokens, you should provide your *public key*. To generate a\npublic and private key pair, you can use OpenSSL:\n\n```bash\n$ openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:4096\n$ openssl rsa -in private_key.pem -pubout -out public_key.pem\n```\n\n*Never* reuse keys between multiple systems.\n\nFor more information, checkout the [official JWT website](https://jwt.io/).\n"
version: 1.0.0
servers:
- url: https://api.loadsmart.com
description: Production server
- url: https://api.sandbox.loadsmart.com
description: Sandbox environment
tags:
- name: Capacity
description: 'Manages new capacity. A capacity is a truck that is
empty and it''s location.
'
paths:
/api/v2/capacity:
post:
summary: Create capacity
description: 'Inform us about a list of available trucks.
The available trucks must have at least a point of pickup, the
delivery is not mandatory but will increase the chances of best
matching for our loads.
The capacity represents an empty truck position. For different
empty positions for the same truck, the available trucks and
their ids must be different. We suggest that you use an uuid to
represent the `ref_number` attribute on your side, because this
identifier will be reused across other endpoints.
'
tags:
- Capacity
security:
- User-JWT:
- capacity_write
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- type: array
title: capacity:spot
items:
type: object
required:
- carrier_identification
- ref_number
- equipment_type
- available_at
- pickup
properties:
available_at:
type: string
description: The date and time the truck is going to be available. You must not provide timezone info.
format: date-time
pattern: YYYY-MM-DDThh:mm:ss
delivery_deadhead:
type: number
description: The distance between the truck and the delivery
pickup_deadhead:
type: number
description: The distance between the truck and the pickup
expires_at:
type: string
format: date-time
carrier_identification:
description: 'An identifier for the carrier.
There are two ways to identify a carrier, by Loadsmart Carrier ID or by MC+DOT combination.
If you provide carrier ID, you must not provide any information for MC and DOT.
If you provide MC and DOT, you must not provide carrier ID information.
'
oneOf:
- title: Carrier identified by Carrier ID
type: object
properties:
carrier_id:
type: string
format: uuid
description: Carrier UUID (provided by Loadsmart)
mc:
type: string
description: Carrier MC Number (Motor Carrier Number)
dot:
type: string
description: Carrier DOT Number
required:
- carrier_id
- title: Carrier identified by MC and DOT
type: object
properties:
carrier_id:
type: string
format: uuid
description: Carrier UUID (provided by Loadsmart)
mc:
type: string
description: Carrier MC Number (Motor Carrier Number)
dot:
type: string
description: Carrier DOT Number
required:
- mc
- dot
ref_number:
type: string
description: 'Unique id for the given capacity, this must represent the id for this capacity on your side.
This represents the empty truck location identifier. You must use different ids for different
empty locations or dates, even if its the same capacity/truck.
We suggest that you use an uuid to create this identifier.
'
fleet_id:
type: string
description: Fleet identifier for this capacity.
equipment_type:
type: string
enum:
- DRV
- FBE
- RFR
- CON
- CUR
- DDP
- IMC
- SDK
- STK
description: 'Truck''s type. Must be one of the following:
`DRV` for Dry Van
`FBE` for Flatbed
`RFR` for Reefer
`CON` for Conestoga
`CUR` for Curtainside
`DDP` for Double Drop
`IMC` for Intermodal
`SDK` for Step Deck
`STK` for Straight Truck
'
rate:
type: number
description: The all in rate for the lane.
rate_per_mile:
type: number
description: Indicates the value per miles
is_backhaul:
type: boolean
description: Indicates whether the capacity is backhaul or not.
contacts:
type: array
description: A list of who should be contacted by us for this capacity.
items:
type: object
properties:
name:
type: string
phone_number:
type: string
pattern: \+\d{4,15}
maxLength: 16
description: Phone number following the format [E.164](https://www.itu.int/rec/T-REC-E.164/)
email:
type: string
pickup:
description: 'The desired location for pickup.
Certain parameters are required for this request.
You must include either zipcode, state or coords.
If you provide coords, you must not provide any other address information.
If you include a City, then a State should also be provided to avoid
ambiguous information.
Missing geographical data will be automatically filled by the API.
'
oneOf:
- title: Place with State
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- state
- title: Place with Zipcode
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- zipcode
- title: Place with City must have State
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- city
- state
- title: Place with Coords
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- coords
delivery:
type: array
description: 'The desired location for delivery.
Certain parameters are required for this request.
You must include either zipcode, state or coords.
If you provide coords, you must not provide any other address information.
If you include a City, then a State should also be provided to avoid
ambiguous information.
Missing geographical data will be automatically filled by the API.
'
items:
oneOf:
- title: Place with State
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- state
- title: Place with Zipcode
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- zipcode
- title: Place with City must have State
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- city
- state
- title: Place with Coords
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- coords
- type: array
title: capacity:static
items:
type: object
required:
- carrier_identification
- ref_number
- equipment_type
- available_dow
- pickup
- contacts
properties:
available_dow:
type: array
description: A list of the capacity's available days of week.
items:
type: string
enum:
- Mon
- Tue
- Wed
- Thu
- Fri
- Sat
- Sun
carrier_identification:
description: 'An identifier for the carrier.
There are two ways to identify a carrier, by Loadsmart Carrier ID or by MC+DOT combination.
If you provide carrier ID, you must not provide any information for MC and DOT.
If you provide MC and DOT, you must not provide carrier ID information.
'
oneOf:
- title: Carrier identified by Carrier ID
type: object
properties:
carrier_id:
type: string
format: uuid
description: Carrier UUID (provided by Loadsmart)
mc:
type: string
description: Carrier MC Number (Motor Carrier Number)
dot:
type: string
description: Carrier DOT Number
required:
- carrier_id
- title: Carrier identified by MC and DOT
type: object
properties:
carrier_id:
type: string
format: uuid
description: Carrier UUID (provided by Loadsmart)
mc:
type: string
description: Carrier MC Number (Motor Carrier Number)
dot:
type: string
description: Carrier DOT Number
required:
- mc
- dot
ref_number:
type: string
description: 'Unique id for the given capacity, this must represent the id for this capacity on your side.
This represents the empty truck location identifier. You must use different ids for different
empty locations or dates, even if its the same capacity/truck.
We suggest that you use an uuid to create this identifier.
'
fleet_id:
type: string
description: Fleet identifier for this capacity.
equipment_type:
type: string
enum:
- DRV
- FBE
- RFR
- CON
- CUR
- DDP
- IMC
- SDK
- STK
description: 'Truck''s type. Must be one of the following:
`DRV` for Dry Van
`FBE` for Flatbed
`RFR` for Reefer
`CON` for Conestoga
`CUR` for Curtainside
`DDP` for Double Drop
`IMC` for Intermodal
`SDK` for Step Deck
`STK` for Straight Truck
'
rate:
type: number
description: The all in rate for the lane.
rate_per_mile:
type: number
description: Indicates the value per miles
is_backhaul:
type: boolean
description: Indicates whether the capacity is backhaul or not.
contacts:
type: array
description: A list of who should be contacted by us for this capacity.
items:
type: object
properties:
name:
type: string
phone_number:
type: string
pattern: \+\d{4,15}
maxLength: 16
description: Phone number following the format [E.164](https://www.itu.int/rec/T-REC-E.164/)
email:
type: string
pickup:
description: 'The desired location for pickup.
Certain parameters are required for this request.
You must include either zipcode, state or coords.
If you provide coords, you must not provide any other address information.
If you include a City, then a State should also be provided to avoid
ambiguous information.
Missing geographical data will be automatically filled by the API.
'
oneOf:
- title: Place with State
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
type: number
description: Approximate latitude for the place
longitude:
type: number
description: Approximate longitude for the place
required:
- state
- title: Place with Zipcode
type: object
properties:
city:
type: string
description: Name of city
state:
type: string
description: Two letter state or equivalent administrative boundary
zipcode:
type: string
description: zipcode (first five digits)
country:
type: string
pattern: ^[A-Z]{3}$
description: '3-letter country code, uppercase (ISO 3166-1 alpha-3)
If no country is provided, ''USA'' is inferred.
'
coords:
type: object
required:
- latitude
- longitude
properties:
latitude:
t
# --- truncated at 32 KB (47 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/loadsmart/refs/heads/main/openapi/loadsmart-capacity-api-openapi.yml