Plans, Credits and API Keys

How to create a CargoCONNECT API key, the plans, and how many credits each API call uses.

This page explains how to get an API key, how CargoCONNECT plans and credits work, and how each API call is charged.

📘

Legacy API keys

This page applies to API keys created in the CargoCONNECT portal. API keys issued by CargoAi before the portal (legacy keys) keep their contractual terms: they do not use credits and do not return the credit headers described below. For any question about a legacy key, contact CargoAi at [email protected].


Create an API key

  1. Sign in to the CargoCONNECT portal at connect.cargoai.co.
  2. Open the API Keys page of your organization and click Create New Key.
  3. Give the key a name that tells you where it is used (for example tms-integration, erp-sync or website-quotes) and copy it. The key is shown only once: store it safely.

Every key works on the live CargoCONNECT environment: there is no separate test environment. To test without real bookings, use the mock airline (airline code 00, AWB prefix 000).

From the same page you can rename, disable, enable, rotate or revoke a key, and see its calls and credit use.

Send the key in the x-api-key header of every request:

curl --request GET \
  --url 'https://api.cargoai.co/solutions/track?awb=000-11223343' \
  --header 'x-api-key: YOUR_API_KEY'

Keep the key on your server. Never put it in a web page or a mobile app, where anyone could read it.


Plans

Every CargoCONNECT organization has a plan. The plan sets the credits included, the number of offices (IATA/CASS) you can use, and whether you can buy more credits. All keys of an organization share one credit balance.

PlanCredits includedMax offices (IATA/CASS)Credit top-ups
Free50, once1 (set up by CargoAi support)No
Bronze150 per month1Yes
Silver3,000 per month3Yes
Gold9,000 per month10Yes
Pro24,000 per month20Yes
Premium65,000 per month50Yes
Ultimate150,000 per month80Yes
EnterpriseCustomCustomCustom pricing

All plans are self-serve: the price of each plan is shown on the plans page of the portal, where you can subscribe or upgrade at any time.

The office limit counts the distinct IATA/CASS codes of your organization and of all its authorized users. When you go over it, see Errors below.

Free plan

The Free plan lets you try the APIs before you subscribe. Compared with paid plans:

  • 50 credits, given once when the organization is created. They do not renew and cannot be topped up: when they run out, calls are refused until you upgrade.
  • Search, tracking and the other read endpoints work with all airlines. Write endpoints, such as booking and FWB & FHL, work only with the mock airline (airline code 00, AWB prefix 000): upgrade to a paid plan to book or send eAWBs with real airlines.
  • A lower rate limit (about 3 requests per minute).
  • The following products need a paid plan: CargoCOPILOT API, AWB SCAN API, User Provisioning API and CargoWALLET API.
  • Callbacks to your own webhook URL for bookings (FlyWINDOW callback) and for eAWB status updates need a paid plan. eAWB status updates by email stay available.
  • The CargoAI MCP connector cannot be used with a Free plan API key.

Credit cost per API call

Each call made with a CargoCONNECT key uses credits from your organization's balance. The cost depends on the endpoint and on the response status.

APICallCredits (2xx)Credits (4xx)
Route & Schedule APISearch: POST /solutions/search with x-api-name: Schedules11
Quote & Book APISearch: POST /solutions/search11
Quote & Book APIBook: POST /solutions/book00
Quote & Book APICancel a booking: PUT /solutions/bookings/{flightUUID}51
Track & Trace APIGet tracking: GET /solutions/track21
Track & Trace APISubscribe: POST /solutions/track/subscribe102
Track & Trace APIUnsubscribe: POST /solutions/track/unsubscribe00
Cargo2ZERO APICO2 calculation: GET /solutions/co2calculation31
FWB & FHL APISend an eAWB: POST /solutions/eawb51
CargoCOPILOT APIShipment extraction, text or Excel: POST /solutions/ai/shipment20
CargoCOPILOT APIShipment extraction, image: POST /solutions/ai/shipment50
CargoCOPILOT APIShipment extraction, several inputs (MULTI or attachments): POST /solutions/ai/shipment80
AWB SCAN APIAWB extraction, image: POST /solutions/ai/awb51 (only INVALID_AWB_DOCUMENT)
AWB SCAN APIAWB extraction, PDF: POST /solutions/ai/awb82 (only INVALID_AWB_DOCUMENT)
AWB SCAN APIUpload URL: POST /solutions/ai/uploads00
User Provisioning APICreate, update, get or delete a user: /solutions/users00

When a call is charged

  • 2xx: the full cost of the call.
  • 4xx: 20% of the cost, rounded up to the next whole credit (shown in the table). A request with a mistake still uses a little, so fix the request before you retry it.
  • 5xx: free.
  • Search polling is free: when you repeat a search with the id of an existing search to get more results, the follow-up calls use no credits. Only the first search is charged.
  • CargoCOPILOT API: a failed shipment extraction is never charged, whatever the status. A file that could not be read is reported in the response and costs nothing.
  • AWB SCAN API: errors are free, except 422 INVALID_AWB_DOCUMENT (the document is not an Air Waybill), which uses 20% of the cost because the document was read.
  • Track & Trace API: a 202 Accepted on Get tracking (data still being fetched) is free. Only the call that returns the tracking data is charged.
  • Mock airline: on a paid plan, searches, tracking calls, subscriptions and booking cancellations on the mock airline (airline code 00, AWB prefix 000) are free.

Credit headers

Every response to a call made with a CargoCONNECT key carries two headers:

HeaderDescription
X-Credits-ConsumedCredits used by this call. On a 402 it shows the price of the call, and nothing is charged.
X-Credits-RemainingYour organization's balance after this call. It can be negative on a paid plan (see below). It is left out in the rare case the balance could not be read.

Running out of credits

  • Free plan: a call is refused with 402 INSUFFICIENT_CREDITS when the balance is lower than its cost. Once the balance is at 0, calls are refused with 403 CREDITS_EXHAUSTED. Upgrade your plan to continue.
  • Paid plans: a call is never refused because its cost is higher than the balance, so the balance can go slightly below zero. Once the balance is at 0 or below, calls are refused with 403 CREDITS_EXHAUSTED until you top up.
  • Enterprise: calls are never refused for lack of credits.

Top-ups

On paid plans you can buy more credits at any time from the billing page of the portal. The price per credit depends on your plan and is shown before you pay. Credits are added once the payment is confirmed.

You can also turn on auto top-up: when your balance falls under a threshold you choose, a top-up is bought automatically, so your integration keeps running.

Unused plan credits are reset at the end of each monthly period. Top-up credits carry over from month to month until you use them.


Errors

StatusError codeWhen
402INSUFFICIENT_CREDITSFree plan: the balance is lower than the cost of the call.
403CREDITS_EXHAUSTEDThe balance is at 0 or below. Top up (paid plans) or upgrade (Free plan).
403OFFICE_LIMIT_EXCEEDEDYour organization uses more offices (IATA/CASS) than your plan allows. Remove offices or upgrade.
409User Provisioning API: creating or updating the user would go over your plan's office limit.

402 Insufficient credits (headers: X-Credits-Consumed: 10, X-Credits-Remaining: 2):

{
  "error": "INSUFFICIENT_CREDITS",
  "balance": 2,
  "required": 10
}

403 Credits exhausted:

{
  "error": "CREDITS_EXHAUSTED",
  "message": "Your credits are exhausted. Please top-up your credit balance."
}

On the Free plan the message is "Your free-tier credits are exhausted. Upgrade your plan to continue using the API."

403 Office limit exceeded:

{
  "error": "OFFICE_LIMIT_EXCEEDED",
  "message": "Your plan's office limit has been exceeded. Remove offices from your organization or authorized users, or upgrade your plan, to continue."
}

While your organization is over its office limit, the User Provisioning API stays available so that you can remove offices or users.