overlay: 1.0.0
info:
title: API Evangelist enhancements for the ArcBest Expedite Third Party TMS API
version: 1.0.0
extends: ../openapi/arcbest-expedite-tms-api-openapi.yml
x-generated: '2026-09-04'
x-method: generated
x-source: >-
Captures the API Evangelist annotations applied on top of the derived ArcBest Expedite Third Party
TMS API contract - provenance, agent-consequence classification, the push surface that sits outside
the request/response contract, and the runtime facts observed by probe. The underlying OpenAPI is
never mutated.
actions:
- target: $.info
update:
x-apievangelist-provenance:
derived_from: ArcBest's own publicly downloadable Expedite TMS API definition bundle (Swagger-Codegen HTML + instructions PDF)
bundle: https://arcb.com/sites/default/files/API/ArcBest-Expedite-Digital-API-August-2024.zip
verbatim_copies:
- docs/arcbest-expedite-tms-api-definition.html
- docs/arcbest-expedite-tms-quote-book-instructions-2024-08.pdf
live_spec_status: auth-gated (HTTP 401 with Basic challenge, probed 2026-09-04)
x-apievangelist-agent-readiness:
idempotency: none
reversibility: none
dry_run: sandbox host only (test.api.arcb.com)
onboarding: credentials issued by the ArcBest Expedite team, not self-serve
x-apievangelist-push-surface:
name: Track and Trace
direction: provider-to-consumer
catalog: asyncapi/arcbest-track-and-trace-webhooks.yml
note: >-
Milestones and location pings are POSTed by ArcBest to an endpoint the integrator hosts and
registers out of band. It is part of the integration but is not expressible in this
request/response document, and ArcBest publishes no AsyncAPI for it.
- target: $.paths['/booking'].put
update:
x-agentic-consequence: physical
x-apievangelist-note: >-
Tenders a physical freight movement. No idempotency key and no cancel operation. Poll
/booking/status with the quote id before re-sending.
- target: $.paths['/quote'].post
update:
x-agentic-consequence: read
x-apievangelist-note: >-
Reserves nothing and costs nothing. Errors are returned INSIDE a 200 response in the Errors[]
array, so a client must read the envelope rather than the HTTP status.
- target: $.paths['/order/refs/{arcbOrderNo}'].post
update:
x-agentic-consequence: write
x-apievangelist-note: >-
Keyed on the ArcBest order (pro) number, NOT the expedite order number used for the BOL.
Correctable by rewriting the references; no window is published.
- target: $.paths['/order/bol/{expediteOrderNo}'].get
update:
x-apievangelist-note: Keyed on the expedite order number, which doubles as the BOL number.
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.