Skip to Content

Developer / API Learning Center

Integrate shipping, tracking, labels, and rate quotes into your platform.

Getting Started

This guide walks you through the fastest path to a working integration: generate API keys, send your first request, and (optionally) configure webhooks for real-time events.

Quick note: If you’re migrating from a legacy XML/EDI integration, you can still use those endpoints. For new builds, we recommend starting with API keys + webhooks for a cleaner integration.

1) Generate API keys

API keys are generated from your account portal in the API Access & Activity page. You can copy keys when needed and regenerate them if you’re rotating credentials.

API Access & Activity page showing API keys and recent activity

  • If you don’t have keys yet, click Request API Keys to generate them.
  • Once generated, you’ll see your Production key (and a Test key if available) listed on this page.
  • Store keys securely (password manager / secrets vault / environment variables).

2) Authentication

Quote, tracking, and cancellation requests accept your API key as a query string parameter named key. Create Shipment requests include the key inside the JSON body as data.token. Shipment Documents supports Authorization: Bearer YOUR_API_KEY or a key in a form POST body. Quotes, tracking, creation, and cancellation also accept the Bearer header as an optional alternative to their existing credentials. For these four endpoints, a supplied header takes precedence; invalid Bearer credentials return HTTP 401 instead of falling back to another key, a browser/masquerade session, or anonymous access. Existing integrations without that header do not need to change.

Keep your API key server-side whenever possible. Do not expose it in public-facing pages or client-side JavaScript.

Query-string example

GET https://www.jetdelivery.com/api/v1/utilities/track/?idx=2345678&key=YOUR_API_KEY
Authentication requirements by workflow:
  • Quotes: without a key you’ll see standard/list rates; with a key you’ll receive your negotiated account rates.
  • Tracking: without a key we may hide precise pickup/delivery details for privacy (for example, using the center of the ZIP code). With a key, authorized users can see more accurate shipment details.
  • Create shipments: a key is required in the Bearer header or data.token / data.key.
  • Cancel shipments: a key is required in the Bearer header or the existing key parameter, and the shipment must belong to that account.
  • Shipment documents: a key is required; download links expire after 15 minutes. Test keys retrieve real account documents.
Heads up: We monitor for unusual usage (for example, tracking multiple customers’ shipments from the same IP). If requests appear unauthorized, your access may be temporarily blocked for security. If that happens, contact us and we’ll help you get unblocked (often by approving your IP for testing).

3) Send your first request

Start with a quote request (fastest to validate authentication + connectivity), then move to shipment creation and tracking.

curl "https://www.jetdelivery.com/api/v1/utilities/quote/?origin=90021&destination=92050&weight=50&key=YOUR_API_KEY"
Recommended integration sequence: quote → create → track → cancel (when needed). Add webhooks after the core request flow is working.

4) Set up webhooks (recommended)

Webhooks allow Jet Delivery to send shipment events to your system in real time (pickup, delivery, dispatch updates, etc.). This keeps your platform up to date without polling our tracking endpoint.

  • Create an HTTPS endpoint in your system to receive events.
  • Configure your webhook URL and selected event types in your account portal.
  • Return a 200 response quickly; process events asynchronously when possible.

Troubleshooting

  • Application error: several legacy endpoints return HTTP 200 with data: null and an error.message; always inspect the JSON envelope.
  • 429: the tracking endpoint is rate limiting the caller; wait before retrying.
  • No webhook deliveries: Endpoint unreachable, non-200 responses, or events not selected.
  • Blocked: Unusual testing patterns (for example, tracking multiple unrelated shipments). Contact support to unblock or approve your IP.