Rate Cards
The Rate Cards API allows you to read the carrier rate cards your account is priced on and download them as a PDF or spreadsheet.
A rate card is the price table your account is quoted from for a given carrier: a grid of weight bands against delivery zones, in a single currency. When you request a rate, Terminal resolves the card that applies to your account and prices the shipment from it.
The Rate Card Object
This section describes the different attributes available for a rate card.
carrier
string
Unique slug for the carrier the card belongs to e.g. dhl-ng.
carrier_name
string
Display name of the carrier.
description
string
Description of the rate card. Can be empty.
directions
array
One entry per service direction the carrier prices for you, each with its own rate card. See Rate Card Directions.
pricing_grade
enum
Commercial tier your account sits on for this carrier. Must be one of standard (default published pricing), strategic (negotiated) or strategic-pro (negotiated, highest volume tier).
rate_card_id
string
Unique reference for the rate card. Returned on the detail endpoint; on the list it appears per direction.
transit
object
Transit time range across the card's zones, not a per-shipment estimate. See Rate Card Directions.
updated_at
datetime
Time the rate card was last updated.
How a card is resolved
Which card applies to you depends on three things, and all three are recomputed on every request:
Carrier — each carrier has its own cards.
Your account country — returned as
user_countryon each entry.Service direction —
local,export, orimport.
A carrier therefore appears once in the list with one directions entry per direction it prices for you. Carriers with nothing assigned are omitted rather than returned empty.
Only cards that are currently active and currently assigned to your account are reachable. A card that is draft, disabled, or no longer yours returns an error rather than stale pricing, so a card you can read here is always a card you can be quoted on.
What you will not see
The prices returned are the full prices you are charged, with all surcharges already applied — includes_surcharges is always true. The derivation behind those prices (base cost, markup structure, per-band surcharge overrides) is not exposed: band_surcharge_overrides is always returned as an empty array.
Was this helpful?