ShipAny Developers

Build Shipping Into Your Business

Powerful APIs that help you automate shipping, tracking and logistics operations directly from your application.

Quick start

Developer Quick Start

01

Create Account

Create your ShipAny business account.

02

Generate API Credentials

Create and manage your API keys securely in the Developer Portal.

03

Start Integrating

Create shipments, fetch rates, track orders and automate logistics.

Introduction

API Capabilities

The ShipAny v1 REST API is authenticated with API keys and scoped to your account and wallet. Base URL: https://shipany.in/api/v1

Rate API

Get available courier services and shipping rates.

Serviceability API

Check whether a destination can be serviced.

Shipment API

Create and manage shipments programmatically.

Tracking API

Retrieve shipment tracking information.

Label API

Generate shipping labels.

Cancellation API

Cancel eligible shipments.

NDR API

Access and manage delivery exceptions.

Webhook API

Receive real-time shipment events.

Authentication

API Keys & Security

X-API-Key header

Generate sandbox (sk_test_…) or production (sk_live_…) keys in the Developer Portal. Keys are shown once at creation — store them securely. Send the key with every request:

X-API-Key: YOUR_API_KEY

Security

  • · Keys are stored hashed and can be revoked instantly from the Developer Portal.
  • · Default rate limit is 60 requests/minute per key; 429 is returned when exceeded.
  • · Provider credentials never leave ShipAny servers — your application only talks to the ShipAny API.
  • · Sandbox keys let you integrate without live courier bookings.
Shipping

Rates, Serviceability & Shipments

POST/api/v1/ratesCalculate live courier rates for a lane, weight and payment mode.
POST/api/v1/shipmentsCreate a shipment — AWB assignment and label generation in one call.
POST/api/v1/shipments/{shipment_id}/cancelCancel an eligible shipment with courier-side confirmation and wallet refund.

Serviceability: rates are returned only for couriers that service the lane — an empty quote list means no courier currently serves it. Pincode city/state resolution is available publicly at GET /api/pincode/{pincode}.

POST/api/v1/shipmentsX-API-Key: YOUR_API_KEY · Content-Type: application/json
curl -X POST https://shipany.in/api/v1/shipments \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{ "warehouse_id": "wh_...", "courier_id": "cr_...", "delivery_name": "Aarav Shah", "delivery_phone": "9876543210", "delivery_address": "221, MG Road", "delivery_address2": "Near Metro Station", "delivery_city": "Mumbai", "delivery_state": "Maharashtra", "delivery_pincode": "400001", "weight": 1.5, "length": 30, "breadth": 20, "height": 10, "payment_mode": "Prepaid", "items": [{ "name": "Cotton T-Shirt", "qty": 2, "price": 499, "weight": 0.75 }]}'
Tracking

Track Shipments

GET/api/v1/track/{awb}

Returns the full shipment record including the normalized tracking timeline — every courier scan mapped to unified ShipAny statuses, scoped to shipments owned by your account. For push updates, use webhooks instead of polling.

Labels

Labels & Manifests

Shipping labels are generated automatically when a shipment is created and the AWB is assigned. Labels and invoices can be previewed and downloaded from the ShipAny dashboard — individually or in bulk for high-volume operations (manifest-style batch printing via Bulk Shipping).

NDR

Delivery Exceptions

Non-Delivery Reports appear in the NDR panel of your dashboard with the failure reason, and customers are notified automatically. Reattempts and resolutions are tracked there. Subscribe to shipment.ndr and shipment.rto webhook events to react in real time from your own systems.

Webhooks

Real-Time Shipment Events

Event types

shipment.createdshipment.statusshipment.deliveredshipment.ndrshipment.rtoshipment.cancelledreturn.createdcod.settledwallet.adjusted

Signature verification

Every delivery includes an X-Shipany-Signature header — an HMAC-SHA256 hex digest of the raw request body signed with your endpoint secret — plus the event name in X-Shipany-Event. Deliveries retry with exponential backoff and can be replayed from the Developer Portal.

import hmac, hashlib
expected = hmac.new(
secret.encode(), raw_body, hashlib.sha256
).hexdigest()
assert hmac.compare_digest(expected, signature)
International

International Shipments

International shipping is available in the ShipAny dashboard with destination validation, per-box chargeable-weight calculation and item-level customs data (description, HS code, quantity, value, country of origin). Rates, transit times and customs requirements vary by destination and carrier. International API coverage is expanding — contact us for early access.

Reference

Errors, Status Codes & Changelog

CodeMeaning
400Bad request — invalid input such as a malformed pincode or out-of-range weight.
401Missing or invalid X-API-Key header.
402Insufficient wallet balance to create the shipment.
404Resource not found — e.g. tracking an AWB that does not belong to your account.
422Validation failed — mandatory shipment fields are missing or invalid.
429Rate limit exceeded for your API key (default 60 requests/minute).

Changelog

v1 — Current stable API version: rates, shipments, tracking, cancellation, wallet, invoices and HMAC-signed webhooks.

Start Building With ShipAny

Connect your platform to a powerful shipping infrastructure.