Returns paginated orders belonging to the authenticated organization.
Scope: orders:read
| Query | Type | Description |
|---|---|---|
per_page | integer | 1–100, default 25. |
Developers
Server-to-server JSON API for professional customers and transport providers.
Production base URL
Requests and responses use JSON unless otherwise specified. Send Accept: application/json and, for POST requests, Content-Type: application/json.
API credentials are created in the Business or Provider automation area. Tokens begin with nk_, are shown once, hashed at rest and may be revoked or rotated.
| Surface | Scopes currently used by routes | Reserved/account scopes |
|---|---|---|
| Business | orders:create, orders:read | drivers:read, tracking:read |
API v1 is limited to 120 requests per minute per bearer token by default. The deployment may change this value through configuration. A rate-limited request returns HTTP 429.
api integration feature. The base professional plan remains manual and cannot create orders through this API.All Business endpoints are scoped to the organization attached to the credential. A credential can never read another organization’s order.
Returns paginated orders belonging to the authenticated organization.
Scope: orders:read
| Query | Type | Description |
|---|---|---|
per_page | integer | 1–100, default 25. |
Returns one organization order with its service category and chosen provider. Returns 404 if the order does not belong to the authenticated organization.
Scope: orders:read
Creates a service request for the authenticated professional organization.
Scope: orders:create
| Field | Required | Rules |
|---|---|---|
territory | yes | string, max 255 |
transport_type | yes | string, max 100 |
pickup_location | yes | string, max 1000 |
delivery_location | yes | string, max 1000 |
pickup_contact_name | no | string, max 255 |
pickup_contact_phone | no | string, max 100 |
delivery_contact_name | yes | string, max 255 |
delivery_contact_phone | yes | string, max 100 |
description | no | string, max 5000 |
is_urgent | no | boolean |
scheduled_at | no | date / ISO-8601 recommended |
organization_driver_id | no | must belong to the authenticated organization |
Success: HTTP 201. Creating an order emits the Business webhook event order.created when the subscription and endpoint configuration allow webhooks.
| HTTP | Meaning |
|---|---|
| 401 | Missing, invalid or expired bearer credential. |
| 403 | Credential lacks the requested scope, or the account subscription does not include API access. |
| 404 | Resource not found inside the authenticated account boundary. |
| 422 | Laravel validation error. The response includes a field-level errors object when JSON is requested. |
| 429 | Rate limit exceeded. |
Provider writes: Idempotency-Key is mandatory (8–255 characters). Successful non-5xx responses are retained for 30 days. Retry the exact same operation with the exact same key after a timeout.
A replay returns Idempotency-Replayed: true. Reusing the same key with a different method/path/payload returns HTTP 409.
POST /business/orders still does not provide the same contractual replay guarantee. Do not blindly retry an ambiguous Business order creation timeout.