ArcBest Expedite Third Party TMS API

The integration surface ArcBest publishes for transportation management systems and freight-visibility platforms. HTTP Basic authenticated; quote, book, poll booking status, retrieve the Bill of Lading and update PO/CUSTREF references on a booked order, with track-and-trace milestones pushed to an endpoint the integrator registers with ArcBest.

Operations 5

POST /quote Create a rate quote #
PUT /booking Book a quoted expedite load #
GET /booking/status Get booking status for one or more quotes #
GET /order/bol/{expediteOrderNo} Retrieve the Bill of Lading for a booked order #
POST /order/refs/{arcbOrderNo} Update purchase order and customer reference numbers on a booked order #

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-expedite-tms-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-expedite-tms-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: ArcBest Expedite Third Party TMS API
  version: v1
  summary: Quote, book, document and reference ArcBest Expedite loads from a third-party TMS.
  description: >-
    The ArcBest Expedite 3rd Party TMS API is the integration surface ArcBest publishes for
    transportation management systems and freight-visibility platforms (the published examples use
    project44 as the calling Source).


    Flow published by ArcBest: Step 1 POST /quote to receive a rate quote - the response includes the
    quote id, total charge, itemized charges, pickup datetime, advertised transit days and delivery
    date; the returned notes must be shown to the customer and the returned pickup date should seed
    the confirmation step. Step 2 PUT /booking to book once the customer finalises pickup and
    delivery windows and contact details. Step 3 quotes are queued and booked by operators within
    minutes - poll GET /booking/status and consume ArcBestOrderNo and ExpediteOrderNo (which serves
    as the BOL number). Step 4 generate the BOL with GET /order/bol/{expediteOrderNo}. Step 5 update
    references if necessary with /order/refs. Step 6 the track-and-trace object is POSTed by ArcBest
    to an endpoint the integrator must specify and register with ArcBest (see
    asyncapi/arcbest-track-and-trace-webhooks.yml).


    PROVENANCE: this document was DERIVED by API Evangelist from ArcBest's own publicly downloadable
    API definition bundle - the Swagger-Codegen static HTML reference "Arcbest Expedite 3rd Party TMS
    API" and the PDF "TMS Expedite Quote and Book Instructions and JSON (Version August 2024)", both
    shipped inside
    https://arcb.com/sites/default/files/API/ArcBest-Expedite-Digital-API-August-2024.zip
    (verbatim copies in this repo under docs/). Paths, HTTP methods, operationIds, tags, parameter
    names and types, response codes and descriptions are transcribed verbatim from that bundle. The
    live swagger.json is auth-gated (HTTP 401 with `WWW-Authenticate: Basic realm="service"` at
    https://api.arcb.com/expedite/digital/swagger/v1/swagger.json, probed 2026-09-04). Nothing here
    is invented.
  contact:
    name: ArcBest API Support
    email: api@arcb.com
    url: https://arcb.com/technology/shippers/API
  termsOfService: https://arcb.com/terms-of-use
  x-generated-from: provider-published Swagger-Codegen HTML reference + provider PDF instructions
  x-method: derived
  x-source:
    - https://arcb.com/technology/shippers/API/expedite-setup-documentation-download
    - https://arcb.com/sites/default/files/API/ArcBest-Expedite-Digital-API-August-2024.zip
    - docs/arcbest-expedite-tms-api-definition.html
    - docs/arcbest-expedite-tms-quote-book-instructions-2024-08.pdf
  x-derived-on: '2026-09-04'
servers:
  - url: https://api.arcb.com/expedite/digital
    description: >-
      Production. Probed 2026-09-04 - returns HTTP 401 with a `WWW-Authenticate` header of
      `Basic realm="service"`, confirming the gateway is live and HTTP Basic authenticated.
  - url: https://test.api.arcb.com/expedite/digital
    description: Test / sandbox. "API top level URI is https://test.api.arcb.com/Expedite/Digital/" - ArcBest TMS instructions PDF, August 2024. Every curl sample in the provider's own HTML reference targets this host.
tags:
  - name: Quote
    description: Rate quote requests for expedite loads.
  - name: Booking
    description: Booking requests placed against a quote, and their asynchronous status.
  - name: Order
    description: Bill of Lading retrieval and reference-number updates on a booked order.
security:
  - basicAuth: []
paths:
  /quote:
    post:
      operationId: quoteCreate
      summary: Create a rate quote
      description: >-
        Send a rate quote request to retrieve initial pricing and timing availability. Errors may
        include dimensions or weight beyond limits, incompatible scheduling, or rejected accessorials
        (temperature control, lift gate, hazmat). The response includes the earliest available
        pickup - show this to the customer in case they initially selected a time that is too early.
      tags: [Quote]
      requestBody:
        required: true
        description: Quote request (Source, UserName, ArcBestCustomerId, Payer, Shipper, Consignee, PickupDate, Commodities[], Accessorials[]).
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK. Carries ExpediteQuoteId, Charge, AdvertisedTransitDays, AdvertisedDueDate, PickupDate, ItemizedCharges, Notes and an Errors array which is empty on success and populated with {Code, Message} objects on a rejected quote.
  /booking:
    put:
      operationId: bookingCreate
      summary: Book a quoted expedite load
      description: >-
        After showing the customer the quote response information (quote id, pricing, schedule dates,
        notes), if they wish to book, send the booking request from your client.
      tags: [Booking]
      requestBody:
        required: true
        description: Booking request.
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: OK
  /booking/status:
    get:
      operationId: bookingGetStatus
      summary: Get booking status for one or more quotes
      description: >-
        Quotes are queued and booked by ArcBest operators within minutes. Poll this operation to
        update your UI. The response is keyed by quote id and carries Status, StatusString (for
        example BOOKINGINPROGRESS, SHIPMENTBOOKED), ExpediteOrderNo and ArcBestOrderNo.
      tags: [Booking]
      parameters:
        - name: quoteids
          in: query
          required: true
          description: One or more quote ids. Repeat the parameter per quote id.
          schema:
            type: array
            items:
              type: string
      responses:
        '200':
          description: OK
  /order/bol/{expediteOrderNo}:
    get:
      operationId: orderBol
      summary: Retrieve the Bill of Lading for a booked order
      description: Use the expedite order BOL number from the booking status step after the shipment is booked.
      tags: [Order]
      parameters:
        - name: expediteOrderNo
          in: path
          required: true
          description: The expedite order number returned by /booking/status, which serves as the BOL number.
          schema:
            type: string
      responses:
        '200':
          description: OK
  /order/refs/{arcbOrderNo}:
    post:
      operationId: orderUpdateRefs
      summary: Update purchase order and customer reference numbers on a booked order
      description: >-
        Call the order reference endpoint to update purchase order (PO) numbers or customer
        references (CUSTREFs) on the BOL. The body is an array of {type, value} objects where type is
        "PO" or "CUSTREF".
      tags: [Order]
      parameters:
        - name: arcbOrderNo
          in: path
          required: true
          description: The ArcBest order (pro) number.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    description: Reference type. Published values are PO and CUSTREF.
                  value:
                    type: string
      responses:
        '200':
          description: OK
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic. "Request basic authentication username and password from the ArcBest Expedite
        team" - ArcBest TMS instructions PDF. Confirmed live 2026-09-04, the gateway answers a
        `WWW-Authenticate` header of `Basic realm="service"`.