Skip to content

Ship Jay developer docs

Ship Jay lets you buy shipping labels, track packages and handle returns from your own systems. The API, the webhooks and the MCP server all act on the same account as the Ship Jay app: the same wallet, the same shipping rules and the same audit trail. Anything an API key does shows up in your audit trail.

The base URL is https://shipjay.com/api/v1. Requests use JSON, amounts are integer cents, and every request carries a bearer key.

  1. Create a key with only what it needs. Pick the smallest set of permissions, set a per label and a per day spending limit if the key can buy, and set an expiry date. See Authentication and API keys.

  2. Build the quote then buy flow. Quote a shipment, choose a rate, then buy it with an Idempotency-Key so a retry can never buy twice. See Buying labels safely.

  3. Listen for events. Add a webhook endpoint, verify the ShipJay-Signature header and answer with a 2xx status quickly. See Webhooks.

  4. Handle failures. Read the error code, respect Retry-After on a 429 and log the request_id of every failed call. See Errors and Rate limits and abuse protection.

  • Amounts are integers in cents. 1250 means 12.50 in the account currency.
  • Timestamps are ISO 8601 strings in UTC.
  • Lists return { "data": [...], "next_cursor": "..." }. Pass next_cursor back as cursor to get the next page. A null cursor means there are no more rows.
  • Every response has an X-Request-Id header. Quote it when you contact support.

© 2026 Ship Jay. All rights reserved. Created & Developed by WCWS Internet