Skip to main content

Base URL

https://api.crbtrack.com

Authentication

All endpoints require an API key in the X-API-Key header:
curl -H "X-API-Key: <YOUR_API_KEY>" https://api.crbtrack.com/api/v1/...
See Authentication for details on obtaining and managing API keys.

Content Type

All requests must use JSON:
Content-Type: application/json

Endpoints Overview

Legacy Public API

Verbatim legacy endpoints for customers that cannot migrate:

Orders

MethodEndpointDescription
POST/api/v1/orders/createCreate a new shipping order
POST/api/v1/orders/voidVoid one or more orders

Manifests

MethodEndpointDescription
POST/api/v1/manifests/submitSubmit a shipping manifest (AWB)

Tracking

MethodEndpointDescription
GET/api/v1/tracking/{trackingNumber}Get single parcel tracking
POST/api/v1/tracking/batchGet multiple parcels tracking

Labels

MethodEndpointDescription
GET/api/v1/labels/{trackingNumber}Get label metadata
GET/api/v1/labels/{trackingNumber}/downloadDownload label file
POST/api/v1/labels/{trackingNumber}/reprintRegenerate a label

Public Tracking

MethodEndpointDescription
GET/track/{trackingNumber}Public tracking (no auth)

Request/Response Format

Successful Response

{
  "success": true,
  "data": { ... },
  "meta": {
    "requestId": "req_abc123xyz"
  }
}

Error Response

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error message",
    "message_es": "Mensaje de error en español",
    "details": { ... },
    "requestId": "req_abc123xyz"
  }
}

Common Headers

Request Headers

HeaderRequiredDescription
X-API-KeyYesYour API key
Content-TypeYesMust be application/json
X-Idempotency-KeyNoPrevents duplicate requests
Accept-LanguageNoen or es for response language

Response Headers

HeaderDescription
X-Request-IdUnique request ID for support
X-RateLimit-LimitMax requests per window
X-RateLimit-RemainingRequests remaining
X-RateLimit-ResetWhen limit resets (Unix timestamp)

HTTP Status Codes

CodeMeaning
200Success
201Created
400Bad Request (validation error)
401Unauthorized (invalid API key)
403Forbidden (insufficient permissions)
404Not Found
409Conflict (duplicate, locked resource)
429Rate Limit Exceeded
500Internal Server Error

Idempotency

For POST requests that create resources, include an idempotencyKey:
{
  "idempotencyKey": "unique-request-id-12345",
  ...
}
If you retry a request with the same idempotencyKey within 24 hours, the original response is returned without creating a duplicate.
Use your order ID, UUID, or timestamp-based key for idempotency.

Pagination

List endpoints support pagination:
GET /api/v1/parcels?page=1&limit=50
Response includes pagination metadata:
{
  "data": [...],
  "meta": {
    "page": 1,
    "limit": 50,
    "total": 1234,
    "totalPages": 25
  }
}

Try It Now

Use the interactive playground on each endpoint page to test API calls directly in your browser.

Create Your First Order

Start by creating a test order in sandbox mode