ArcBest Shipments API

Shipment booking and management

Operations 4

POST /shipments ArcBest Create Shipment #
GET /shipments ArcBest List Shipments #
GET /shipments/status-codes List shipment status codes #
POST /shipments/search Search shipments by reference numbers #

Work with this as data

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/arcbest-shipments-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 Specification

arcbest-shipments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Arcbest Shipments API
  x-refined-note:
  - x-generated-from differs across the merged source definitions and was not carried
  - x-refined-note differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged Shipments across 2 of this provider''s published API definitions: arcbest-api.yaml, arcbest-shipments-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.arcbest.com/v2
  description: ArcBest API Production
- url: https://api.arcb.com/expedite/customer
  description: Production. Stated verbatim in the ArcBest customer instructions PDF ("post your client id and secret to https://api.arcb.com/expedite/customer/authorize"). GET on /authorize returns HTTP 405 Method Not Allowed, probed 2026-09-04, confirming the endpoint is live and POST-only.
- url: https://test.api.arcb.com/expedite/customer
  description: Test / sandbox. "We prefer that you begin integration against the test URI https://test.api.arcb.com/expedite/customer/" - ArcBest customer instructions PDF, August 2024.
security:
- bearerAuth: []
tags:
- name: Shipments
  description: Shipment booking and management
paths:
  /shipments:
    post:
      operationId: createShipment
      summary: ArcBest Create Shipment
      description: Book a new LTL freight shipment and generate a Bill of Lading.
      tags:
      - Shipments
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentRequest'
            examples:
              CreateShipmentRequestExample:
                summary: Default createShipment request
                x-microcks-default: true
                value:
                  quoteNumber: Q-20260419-001
                  shipper:
                    name: ACME Corp
                    address: 123 Main St
                    city: Benton
                    state: AR
                    zip: '72015'
                  consignee:
                    name: Widget Inc
                    address: 456 Oak Ave
                    city: Beverly Hills
                    state: CA
                    zip: '90210'
      responses:
        '200':
          description: Shipment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Shipment'
              examples:
                CreateShipment200Example:
                  summary: Default createShipment 200 response
                  x-microcks-default: true
                  value:
                    proNumber: PRO-123456789
                    bolNumber: BOL-20260419-001
                    status: BOOKED
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    get:
      operationId: listShipments
      summary: ArcBest List Shipments
      description: List shipments with optional filtering by date range and status.
      tags:
      - Shipments
      parameters:
      - name: startDate
        in: query
        description: Start date filter (YYYY-MM-DD)
        schema:
          type: string
          format: date
        example: '2026-04-01'
      - name: endDate
        in: query
        description: End date filter (YYYY-MM-DD)
        schema:
          type: string
          format: date
        example: '2026-04-19'
      - name: status
        in: query
        description: Filter by shipment status
        schema:
          type: string
          enum:
          - BOOKED
          - IN_TRANSIT
          - DELIVERED
          - EXCEPTION
        example: IN_TRANSIT
      responses:
        '200':
          description: List of shipments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShipmentList'
              examples:
                ListShipments200Example:
                  summary: Default listShipments 200 response
                  x-microcks-default: true
                  value:
                    shipments:
                    - proNumber: PRO-123456789
                      status: IN_TRANSIT
                      origin: Benton, AR
                      destination: Beverly Hills, CA
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - bearerAuth: []
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://api.arcbest.com/v2
      description: ArcBest API Production
  /shipments/status-codes:
    servers:
    - url: https://api.arcb.com/expedite/customer
      description: Production. Stated verbatim in the ArcBest customer instructions PDF ("post your client id and secret to https://api.arcb.com/expedite/customer/authorize"). GET on /authorize returns HTTP 405 Method Not Allowed, probed 2026-09-04, confirming the endpoint is live and POST-only.
    - url: https://test.api.arcb.com/expedite/customer
      description: Test / sandbox. "We prefer that you begin integration against the test URI https://test.api.arcb.com/expedite/customer/" - ArcBest customer instructions PDF, August 2024.
    get:
      operationId: shipmentsGetShipmentStatusCodes
      summary: List shipment status codes
      description: Returns the shipment status code vocabulary used across tracking responses.
      tags:
      - Shipments
      responses:
        '200':
          description: OK
  /shipments/search:
    servers:
    - url: https://api.arcb.com/expedite/customer
      description: Production. Stated verbatim in the ArcBest customer instructions PDF ("post your client id and secret to https://api.arcb.com/expedite/customer/authorize"). GET on /authorize returns HTTP 405 Method Not Allowed, probed 2026-09-04, confirming the endpoint is live and POST-only.
    - url: https://test.api.arcb.com/expedite/customer
      description: Test / sandbox. "We prefer that you begin integration against the test URI https://test.api.arcb.com/expedite/customer/" - ArcBest customer instructions PDF, August 2024.
    post:
      operationId: shipmentsGetShipmentsByReferenceNumbers
      summary: Search shipments by reference numbers
      description: After /quotes/booking-request/status returns the pro number, track the shipment with this operation. ArcBest publishes the tracking model as JSON at json-schema/arcbest-expedite-tracking-model.json.
      tags:
      - Shipments
      requestBody:
        required: true
        description: The reference numbers to search on.
        content:
          application/json:
            schema:
              type: array
              items:
                type: string
      responses:
        '200':
          description: OK
components:
  schemas:
    ShipmentList:
      type: object
      properties:
        shipments:
          type: array
          items:
            $ref: '#/components/schemas/Shipment'
        totalCount:
          type: integer
          description: Total number of shipments
          example: 25
    ShipmentRequest:
      type: object
      required:
      - shipper
      - consignee
      properties:
        quoteNumber:
          type: string
          description: Rate quote number to use for booking
          example: Q-20260419-001
        shipper:
          $ref: '#/components/schemas/Address'
        consignee:
          $ref: '#/components/schemas/Address'
        items:
          type: array
          items:
            $ref: '#/components/schemas/FreightItem'
        referenceNumber:
          type: string
          description: Customer reference number
          example: PO-98765
    Address:
      type: object
      properties:
        name:
          type: string
          description: Company or person name
          example: ACME Corp
        address:
          type: string
          description: Street address
          example: 123 Main St
        city:
          type: string
          description: City
          example: Benton
        state:
          type: string
          description: State abbreviation
          example: AR
        zip:
          type: string
          description: ZIP code
          example: '72015'
        country:
          type: string
          description: Country code (ISO 3166-1 alpha-2)
          example: US
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Error message
          example: Unauthorized access
        code:
          type: integer
          description: Error code
          example: 401
    FreightItem:
      type: object
      properties:
        weight:
          type: number
          description: Weight in pounds
          example: 500
        freightClass:
          type: string
          description: NMFC freight classification
          example: '70'
        pieces:
          type: integer
          description: Number of pieces
          example: 2
        description:
          type: string
          description: Commodity description
          example: Machine parts
        length:
          type: number
          description: Length in inches
          example: 48.0
        width:
          type: number
          description: Width in inches
          example: 40.0
        height:
          type: number
          description: Height in inches
          example: 36.0
    Shipment:
      type: object
      properties:
        proNumber:
          type: string
          description: ArcBest PRO (shipment) number
          example: PRO-123456789
        bolNumber:
          type: string
          description: Bill of Lading number
          example: BOL-20260419-001
        status:
          type: string
          description: Shipment status
          enum:
          - BOOKED
          - PICKED_UP
          - IN_TRANSIT
          - OUT_FOR_DELIVERY
          - DELIVERED
          - EXCEPTION
          example: BOOKED
        quoteNumber:
          type: string
          description: Rate quote number used for booking
          example: Q-20260419-001
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token obtained from ArcBest API authentication
x-refined-from:
- arcbest-api.yaml
- arcbest-shipments-api-openapi.yml