GGATH Developers

GATH Agent Rate API — 1.0.0

Base URL: https://api.gathlogistics.com. This is the deployed read-only rate API, not the former WordPress REST namespace.

Verified scope

GET service metadata, health, rate lookup and rate statistics. Quote creation, bulk quotes, order creation and status updates are not implemented by this service. Do not send production write requests based on the old documentation.

Read-only quick start

curl --fail-with-body https://api.gathlogistics.com/health
curl --fail-with-body https://api.gathlogistics.com/rates \
  -H "Authorization: Bearer ${GATH_API_KEY}"

Obtain an authorized existing key from GATH. Never put the key in a browser, URL, repository or analytics event. Portal login cookies are not API credentials.

Product policy

Daily reports (D1) serve all logged-in users; portal rates (D2) remain available to all users. External API reads still require Bearer authorization. Orders are retired; spot-rate-request and new-energy features are withdrawn pending redesign, with historical records and imports retained. Legacy CMS is retired, not an API target. No universal BAF/CAF surcharge formula is supported. The former wp-json/gath/v2 contract is not implemented here.

Machine-readable contract mirror · Main-site AI guide

Evidence and limits

Checked on 2026-10-29 (Asia/Shanghai): deployed source /srv/gath/agent-api/server.js, public metadata version 1.0.0, and authenticated read-only GET responses. No key or order was created. Anonymous 401 alone does not prove a route exists: the authentication guard also returns 401 for unknown URLs.

The old /wp-json/gath/v1/services returned authenticated 404 on this API host. Former quote/order routes are absent from its deployed handler. This does not establish the state of any retired WordPress installation. Portal /api/* endpoints are a separate session-authenticated application, not this external contract.

Rate availability and counts change. Schema notes describe observed data, not guaranteed required fields. Health reports process availability, not data freshness: the current implementation returns an empty rate list if its rate file cannot be read.