Carriers & Contracts
GET /carriers
Returns the carriers and the contracts your account can ship with — not the whole platform catalogue. Use it to discover contract codes (contractCode), accessory services (services[].serviceId) and the cash-on-delivery methods accepted by each contract.
Request
curl https://<subdomain>.spedisci.online/api/2026-09/carriers \
-H "Authorization: Bearer <access_token>" \
-H "Accept: application/json"Response fields
| Field | Type | Description |
|---|---|---|
carrierCode | string | Lowercase carrier identifier (brt, fedex, dhl, ups, …). Same value as carrier.code on shipments |
carrierName | string | Display name |
canManageStocks | boolean | Release instructions on held shipments are sent to the carrier automatically (see Stocks) |
canRequestPickup | boolean | Pickups can be requested through the API (see Pickups) |
contracts[].contractCode | string | The value to pass as serviceType in rates, shipments and pickups. Opaque: store and pass it as received |
contracts[].contractName | string | Display name |
contracts[].level | integer | Contract level; 1 for a level-1 reseller contract |
contracts[].slave | boolean | The contract resells a contract of another platform |
contracts[].paused | boolean | Temporarily paused — quotes and shipments are refused |
contracts[].multiParcel | boolean | Accepts shipments with more than one package |
contracts[].cashOnDeliveryMethods | object | Map code → label of the COD collection methods accepted on the contract. Pass a key as options.cod.method when creating a shipment |
services[] | object[] | Accessory services of the carrier: pass serviceId values in options.accessoryServices[] |
Contract codes of level-1 reseller (slave) contracts are encrypted and look like a long random string. They are bound to your account and must be passed exactly as received; they are not stable across users. Reseller contracts are listed only when the account has a valid subscription.
Last updated on