API DOCUMENTATION

Call the charge tables instead of maintaining them

Current and historical ANZ landside charges as clean JSON over REST, rules included. Everything below is versioned and stable.

Authentication

Pass your key as a bearer token. Keys are per-org and issued from your account. The raw key is shown once, at creation; Wharfa stores only its hash.

curl https://api.wharfa.com/v1/charges/current?type=IMP_DETENTION&publisher=msc&port=AUMEL \
  -H "Authorization: Bearer whk_your_key_here"

Rate limits

Requests are rate-limited per key on a sliding one-minute window (default 600/min). Over the limit returns 429 with a Retry-After header. Public, unkeyed reads are cacheable and not limited, but return the 14-day-delayed change feed.

Charges

GET/v1/publishers
All tracked publishers (carriers, stevedores, parks).
GET/v1/free-time?publisher=&port=
Current free-time rule for a line at a port.
GET/v1/charges/current?type=&publisher=&port=&class=
Current tariff (rate_schedule, verify_status, source).
GET/v1/charges/compare?type=&port=
Comparison table for detention or TAC.
GET/v1/tac?port=
Terminal access charges at a port.
GET/v1/charges/history?...&as_of=YYYY-MM-DDPRO / KEYED
What a value was on a past date, with snapshot_url.

Changes & calendar

GET/v1/changes?since=&scope=
Change feed. Free is delayed 14 days; keyed is undelayed.
GET/v1/calendar
Upcoming effective dates (undelayed public facts).

Calculators

GET/v1/calc/detention?publisher=&port=&class=&available=&dehired=
Tiered detention estimate with source lineage.
GET/v1/calc/landside?port=&terminal=
Fixed landside pass-through (TAC + ECP + VBS).

Index & status

GET/v1/index/latest
Latest Wharfa Landside Index value.
GET/v1/index/history
Index history by quarter.
GET/v1/coverage
The public source register.
GET/v1/status
Freshness and overdue sources.

Keys

POST/account/api-keys
Issue a key (raw key returned once).
DELETE/account/api-keys/{id}
Revoke a key.

Webhooks

Register an endpoint to receive change events as they are detected (undelayed, for keyed callers). Payloads carry the publisher, the old and new value, the effective date and the source snapshot. Retries are signed; verify the signature before acting.

Versioning & attribution

The surface is versioned under /v1. Breaking changes are announced 90 days ahead; we know what depending on a reference feels like. End-user interfaces must carry the attribution "Charge data by Wharfa". Full terms of use, including data handling on termination, are in the API Licence Terms; white-label arrangements are available under a separate enterprise agreement.

Questions: [email protected]

STOP MAINTAINING CHARGE TABLES

One call returns the current rule and the history for any date

Issue a key from your account and point your TMS, rate engine or BI stack at the feed. Breaking changes are announced 90 days ahead.