For Agents
Create and cancel cross-border parcel orders, generate waybills, estimate tariffs, and track parcels on Ninja Van's Southeast Asian delivery network across 11 endpoints under api.ninjavan.co.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Ninja Van API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Ninja Van API.
Mint an OAuth 2.0 access token through POST /{countryCode}/2.0/oauth/access_token
Create a parcel delivery order through POST /{countryCode}/4.1/orders
Generate a waybill PDF for a created order through GET /{countryCode}/2.0/reports/waybill
GET STARTED
Use for: Create a Ninja Van parcel order from Singapore to Malaysia, Cancel a Ninja Van parcel order before it is picked up, Generate a waybill PDF for a tracking number, Estimate the cost of shipping a 2kg parcel within Vietnam
Not supported: Does not handle warehousing, fulfilment inventory, or international long-haul outside Southeast Asia — use for Ninja Van last-mile order, waybill, tariff, PUDO, and tracking operations only.
Jentic publishes the only available OpenAPI specification for Ninja Van API, keeping it validated and agent-ready. Ninja Van is a Southeast Asian last-mile express delivery network covering Singapore, Malaysia, Indonesia, the Philippines, Thailand, and Vietnam. The API is structured around country-scoped paths and provides OAuth 2.0 access tokens, order creation and cancellation, waybill PDF generation, tariff price estimates, PUDO (pick-up and drop-off) Ninja Point listings and partner drop-off triggers, parcel tracking by single tracking number or batch, and webhook receivers for parcel lifecycle events.
Cancel an order before pickup through DELETE /{countryCode}/2.2/orders/{trackingNo}
Estimate delivery tariffs before booking through POST /{countryCode}/1.0/public/price
Look up Ninja Point pick-up and drop-off locations through GET /{countryCode}/2.0/pudos
Track parcels singly or in batches through /{countryCode}/1.0/orders/tracking-events
Patterns agents use Ninja Van API for, with concrete tasks.
★ E-commerce checkout shipping integration
Online stores selling across Southeast Asia can quote shipping at checkout and create the parcel order at order confirmation. POST /{countryCode}/1.0/public/price returns a tariff estimate; POST /{countryCode}/4.1/orders creates the order and returns a tracking number; GET /{countryCode}/2.0/reports/waybill returns the printable label. The country code in each path keeps SG, MY, ID, PH, TH, and VN orders cleanly separated.
POST an order to /sg/4.1/orders with sender, recipient, and parcel dimensions, then call /sg/2.0/reports/waybill?trackingNo=... to retrieve the label PDF.
Shipping cost estimation
Marketplaces and 3PLs can show buyers a live shipping price before checkout completes. POST /{countryCode}/1.0/public/price accepts origin and destination, weight, and dimensions, and returns the Ninja Van tariff. The endpoint is rate-limited to 20 calls per minute, so callers should cache by route.
POST a tariff request to /vn/1.0/public/price with origin postcode, destination postcode, and 2kg weight; cache the returned price for 10 minutes.
Parcel tracking dashboards
Operations teams need an internal dashboard showing the status of every in-flight parcel. GET /{countryCode}/1.0/orders/tracking-events accepts a list of tracking numbers and returns the latest events for each, while the single-parcel variant returns full event history for one tracking number. Webhooks should be the primary update channel; the GET endpoints are for reconciliation when webhooks fail.
Call GET /my/1.0/orders/tracking-events with tracking_numbers=NV001,NV002,NV003 and write the latest status for each into the operations dashboard.
AI agent shipping operations
An AI agent embedded in a customer-support workflow can look up parcel status, cancel mistakenly created orders, and quote replacement shipping costs without the operator opening the carrier portal. Through Jentic, the agent searches by intent and Jentic returns the right Ninja Van endpoint with its schema. The OAuth client credentials are held in the vault and never enter the agent's chat context.
Search Jentic for 'cancel a Ninja Van order', load DELETE /{countryCode}/2.2/orders/{trackingNo}, and execute it for trackingNo NVSG12345.
11 endpoints — jentic publishes the only available openapi specification for ninja van api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/{countryCode}/2.0/oauth/access_token
Mint an OAuth 2.0 access token
/{countryCode}/4.1/orders
Create a parcel delivery order
/{countryCode}/2.2/orders/{trackingNo}
Cancel an order before pickup
/{countryCode}/2.0/reports/waybill
Generate a waybill PDF
/{countryCode}/1.0/public/price
Estimate delivery tariff
/{countryCode}/1.0/orders/tracking-events/{trackingNumber}
Get tracking events for a single parcel
/{countryCode}/1.0/orders/tracking-events
Get tracking events for a batch of parcels
/{countryCode}/2.0/pudos
List Ninja Points in a country
/{countryCode}/2.0/oauth/access_token
Mint an OAuth 2.0 access token
/{countryCode}/4.1/orders
Create a parcel delivery order
/{countryCode}/2.2/orders/{trackingNo}
Cancel an order before pickup
/{countryCode}/2.0/reports/waybill
Generate a waybill PDF
/{countryCode}/1.0/public/price
Estimate delivery tariff
Three things that make agents converge on Jentic-routed access.
Credential isolation
Ninja Van OAuth client ID and client key are stored encrypted in the Jentic vault. Agents call order, waybill, and tracking endpoints via Jentic, which mints and refreshes the bearer token server-side; raw credentials never enter the agent's chat context.
Intent-based discovery
Agents search Jentic by intent (e.g. 'create a Ninja Van order' or 'track a parcel') and Jentic returns the matching country-scoped endpoint with its input schema.
Time to first call
Direct Ninja Van integration: 1-2 weeks including the production audit and OAuth lifecycle handling. Through Jentic: under 1 hour to call sandbox endpoints — search, load schema, execute.
Alternatives and complements available in the Jentic catalogue.
Specific to using Ninja Van API through Jentic.
Why is there no official OpenAPI spec for Ninja Van API?
Ninja Van publishes API documentation but does not ship a maintained OpenAPI specification for direct download. Jentic generates and maintains this spec so that AI agents and developers can call Ninja Van API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Ninja Van API use?
Ninja Van uses OAuth 2.0 with client credentials issued from the Ninja Dashboard. Call POST /{countryCode}/2.0/oauth/access_token to mint a bearer token, then send it as Authorization: Bearer <token> on every other call. Through Jentic, the client ID and key are held in the vault and the bearer token is refreshed server-side.
Can I cancel an order through the API?
Yes. DELETE /{countryCode}/2.2/orders/{trackingNo} cancels the order before pickup. Note this endpoint targets v2.2 even though order creation is on v4.1 — the spec preserves the version that each operation runs on.
What are the rate limits for the Ninja Van API?
Several endpoints are rate-limited. The tariff estimate endpoint /{countryCode}/1.0/public/price is capped at 20 calls per minute. The OAuth token, waybill, and tracking-events endpoints are also rate-limited; expect HTTP 429 with a retry-after if exceeded.
How do I create a Ninja Van order through Jentic?
Run pip install jentic, search Jentic for 'create a Ninja Van parcel order', and load POST /{countryCode}/4.1/orders. Provide sender and recipient blocks, parcel dimensions, and the country code (sg, my, id, ph, th, vn). Jentic mints and attaches the OAuth bearer token.
Does the Ninja Van API support all six Southeast Asian markets?
Yes. The country code is part of the path (for example /sg, /my, /id, /ph, /th, /vn), and each market has its own developer support contact email. Production access is granted per market after an integration audit.
/{countryCode}/1.0/orders/tracking-events/{trackingNumber}
Get tracking events for a single parcel
/{countryCode}/1.0/orders/tracking-events
Get tracking events for a batch of parcels
/{countryCode}/2.0/pudos
List Ninja Points in a country