canonical: https://jentic.com/apis/innoship.com/innoship

# Innoship API

Jentic publishes the only available OpenAPI specification for Innoship API, keeping it validated and agent-ready. Innoship is a multi-courier shipping platform focused on Central and Eastern Europe that lets e-commerce merchants compare rates, generate AWB labels, request pickups, track parcels, and manage manifests across multiple national couriers from a single integration. The 51-endpoint API spans client locations, couriers, orders, offline orders, manifests, labels, tracking, vouchers, feedback, notifications, and pricing. Authentication is an API key in the X-API-Key header.

## For AI agents

Generate shipping labels, request courier pickups, track parcels, and manage manifests across multiple Central and Eastern European couriers through a single Innoship integration.

## Scope

Does not handle warehouse management, inventory control, or customer-facing checkout - use for multi-courier label generation, pickup requests, parcel tracking, and shipping reconciliation only.

## Capabilities

- Manage warehouse and fulfilment locations through `/api/ClientLocation` including courier-service availability per location
- Compare and select couriers, then request pickup with `/api/Courier/RequestPickup`
- Generate and download shipping labels by AWB number through `/api/Label/by-courier/{courierId}/awb/{awb}`
- Create and manage shipping orders, including offline orders for non-API origin systems
- Track parcels and surface delivery status updates through the `/api/Track` endpoints
- Generate manifests and feedback reports for reconciliation and dispute handling
- Validate location details with `/api/ClientLocation/Validate` before generating shipments to reduce returns

## Use cases

### Multi-Courier Label Generation for E-Commerce

Generate AWB labels for any order against the cheapest or fastest courier from Innoship's pool, without integrating each courier's API individually. The order endpoints accept a shipment payload, return an AWB, and `/api/Label/by-courier/{courierId}/awb/{awb}` returns the printable label. Critical for Romanian and Central European merchants who routinely use 4-6 couriers.

Example prompt: Create a shipment for a 2 kg parcel from a warehouse to a Bucharest address, then GET `/api/Label/by-courier/{courierId}/awb/{awb}` to download the label.

### Pickup Orchestration

Schedule courier pickups for batches of parcels from one or many locations. POST `/api/Courier/RequestPickup` tells the chosen courier to collect on the specified day from the configured client location. Saves merchants from logging into each courier's portal at end-of-day.

Example prompt: POST `/api/Courier/RequestPickup` with location ID, courier ID, and pickup date for a batch of 50 parcels.

### Tracking and Customer Notifications

Surface live tracking status to customers and internal CS teams without scraping each courier's tracking site. The `/api/Track` endpoints return normalised statuses across the courier pool, and `/api/Notifications` drives delivery-event hooks. Reduces 'where is my order?' tickets and unifies the tracking experience across couriers.

Example prompt: GET `/api/Track` for AWB number 1Z999AA10123456784 and return the latest normalised delivery status.

### Manifest and Reconciliation Reporting

Pull daily manifests, voucher data, and feedback (cost-vs-billed reconciliation) out of Innoship for accounting and operations review. `/api/Manifest` produces the daily collection record per courier; `/api/Feedback/{from}/{to}` returns the cost feedback between two dates. Useful for finance teams reconciling courier invoices against shipped volume.

Example prompt: GET `/api/Feedback/2026-06-01/2026-06-30` to retrieve the previous month's shipment feedback and aggregate by courier.

### AI Agent for Shipping Operations

An LLM agent acting as a logistics copilot uses Innoship to pick the right courier per order, generate labels, request pickups, and answer 'where is my parcel' from customers. Through Jentic, the agent searches by intent ('generate a shipping label', 'track a parcel') and executes - credential handling for the X-API-Key is abstracted away.

Example prompt: For an order, POST a shipment to choose the cheapest courier, GET the label, and POST `/api/Courier/RequestPickup` for tomorrow's collection.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/ClientLocation` | Get details of client locations |
| POST | `/api/ClientLocation` | Create a new client location |
| POST | `/api/Courier/RequestPickup` | Request a pickup from a courier |
| GET | `/api/Courier/All` | List all integrated couriers |
| GET | `/api/Label/by-courier/{courierId}/awb/{awb}` | Get a shipping label by courier and AWB |
| GET | `/api/Feedback/{from}/{to}` | Get shipment feedback between two dates |
| POST | `/api/ClientLocation/Validate` | Validate location details before saving |
| POST | `/api/ClientLocation/Summary` | Create a summary report for client locations |

## Key resources

- **Client Locations** — Manage warehouse/fulfilment locations and the couriers that serve each
- **Couriers** — List integrated couriers and request pickups
- **Orders and Offline Orders** — Create shipping orders for online and offline order sources
- **Labels** — Generate and retrieve printable AWB labels by courier and AWB number
- **Tracking** — Normalised parcel tracking across the courier pool
- **Manifests** — Daily collection manifests per courier and location
- **Feedback and Pricing** — Cost-vs-billed reconciliation feedback and courier price comparison
- **Notifications and Vouchers** — Delivery-event notifications and voucher management

## Why Jentic

- **Setup:** Wiring the Innoship API by hand means passing your key in the API-key request header on every call and mapping its multi-courier label, pickup, and tracking endpoints yourself. Through Jentic you install once, import the Innoship API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Innoship takes the shipment and pickup details in the request body rather than a single resource path, so limit the agent to the operations it needs, such as requesting a pickup or generating a label. You choose which operations are allowed, so creating or validating client locations is not included unless you add it.
- **Credential handling:** Your Innoship API-key request header is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate a shipping label' or 'track a parcel', and Jentic returns the matching Innoship operation with its input schema so the agent calls the right endpoint without navigating operationId-style names like ClientLocation_createNew.

## Related APIs

- **ShipStation API** — ShipStation is a multi-courier shipping platform focused on the US and UK markets.
- **ShipEngine API** — ShipEngine is a global multi-carrier shipping API with broad US and EU coverage.
- **AfterShip API** — AfterShip specialises in customer-facing tracking and post-purchase experience.

## FAQ

### Why is there no official OpenAPI spec for Innoship API?

Innoship does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Innoship API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Innoship API use?

The Innoship API uses an API key in the 'X-API-Key' header on every request. Through Jentic, the key is stored encrypted in your Jentic One instance and injected at runtime so the agent never sees the raw value.

### Can I generate labels and request pickups for multiple couriers from one integration?

Yes - that is Innoship's core value. `/api/Courier/All` lists the available couriers, the order endpoints accept the chosen courier, `/api/Label/by-courier/{courierId}/awb/{awb}` returns the label, and `/api/Courier/RequestPickup` schedules collection. One API key covers the whole courier pool.

### What are the rate limits for the Innoship API?

Rate limits are not encoded in the spec; they depend on plan tier and are enforced per API key. Contact Innoship support for the per-second and daily limits applied to your account, particularly relevant during peak e-commerce seasons.

### How do I track a parcel through Jentic?

Search Jentic for 'track a parcel with Innoship' to find the `/api/Track` endpoint. Load the schema, supply the AWB number, and execute. The response normalises status across the courier pool. Get started with Jentic One, the self-hosted execution layer.

### Does Innoship support reconciliation against courier invoices?

Yes. GET `/api/Feedback/{from}/{to}` returns shipment-level cost feedback across a date range, which finance teams use to reconcile actual carrier invoices against the rates and surcharges Innoship recorded at shipment time.

### Can I limit what my agent is allowed to do with the Innoship API?

Yes. Because Jentic One is self-hosted, you set the rules that decide which Innoship operations and credentials your agent may use. Innoship passes shipment and pickup details in the request body rather than a single resource path, so you scope the agent to only the operations it needs, such as requesting a pickup with `/api/Courier/RequestPickup` or generating a label via `/api/Label/by-courier/{courierId}/awb/{awb}.` Operations like creating or validating client locations stay off-limits unless you explicitly allow them.
