Noukarivé Developers
REST API

Noukarivé API v1

Server-to-server JSON API for professional customers and transport providers.

Basics

Production base URL

https://noukarive.com/api/v1

Requests and responses use JSON unless otherwise specified. Send Accept: application/json and, for POST requests, Content-Type: application/json.

Authentication

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.

curl https://noukarive.com/api/v1/business/orders \ -H 'Accept: application/json' \ -H 'Authorization: Bearer nk_YOUR_TOKEN'
SurfaceScopes currently used by routesReserved/account scopes
Businessorders:create, orders:readdrivers:read, tracking:read

Rate limits

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.

Business API

Subscription: Business API access is reserved for a professional plan with the 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.

GET/business/orders

Returns paginated orders belonging to the authenticated organization.

Scope: orders:read

QueryTypeDescription
per_pageinteger1–100, default 25.
GET/business/orders/{id}

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

POST/business/orders

Creates a service request for the authenticated professional organization.

Scope: orders:create

curl -X POST https://noukarive.com/api/v1/business/orders \ -H 'Authorization: Bearer nk_YOUR_TOKEN' \ -H 'Accept: application/json' \ -H 'Content-Type: application/json' \ -d '{ "territory": "Martinique", "transport_type": "delivery", "pickup_location": "Fort-de-France", "delivery_location": "Le Lamentin", "delivery_contact_name": "Marie Exemple", "delivery_contact_phone": "+596696000000", "description": "2 cartons", "is_urgent": false }'
FieldRequiredRules
territoryyesstring, max 255
transport_typeyesstring, max 100
pickup_locationyesstring, max 1000
delivery_locationyesstring, max 1000
pickup_contact_namenostring, max 255
pickup_contact_phonenostring, max 100
delivery_contact_nameyesstring, max 255
delivery_contact_phoneyesstring, max 100
descriptionnostring, max 5000
is_urgentnoboolean
scheduled_atnodate / ISO-8601 recommended
organization_driver_idnomust 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.

Errors

HTTPMeaning
401Missing, invalid or expired bearer credential.
403Credential lacks the requested scope, or the account subscription does not include API access.
404Resource not found inside the authenticated account boundary.
422Laravel validation error. The response includes a field-level errors object when JSON is requested.
429Rate limit exceeded.

Idempotency

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.

Business API limitation: POST /business/orders still does not provide the same contractual replay guarantee. Do not blindly retry an ambiguous Business order creation timeout.