Noor Delivery API (1.0)

Download OpenAPI specification:

With the Noor Delivery API you can create deliveries, track them in real time, and manage cancellations and returns.

Authentication

Noor provides a static token which must be sent in the X-Auth header on every request:

X-Auth: <your-static-token>

Contact your personal manager or the support team to obtain credentials.

Timezone

Noor works in UTC. All date and time values returned by the API are UTC.

Language

Validation messages and certain names are returned in Uzbek by default. To receive them in another language, set the Accept-Language header. Possible values: en, ru, uz. An unrecognised value falls back to uz.

Order stages

Stage Name Stage Name
1 New 16 Returning
2 Estimating 17 Return arrived
3 Ready for payment 18 Ready for return confirmation
4 Scheduled 19 Returned
5 Performer look-up 20 Returned finish
6 Performer draft 21 Cancelled by taxi
7 Performer found 22 Cancelled
8 Pick-up arrived 23 Cancelled with payment
9 Ready for pick-up confirmation 24 Cancelled with items on hand
10 Picked up 25 Failed
11 Delivery arrived 26 Estimating failed
12 Ready for delivery confirmation 27 Performer not found
13 Pay waiting 28 Cancelled out of zone
14 Delivered 29 Cancelled out of range
15 Delivered finish

Payment types

Value Behaviour
CARD The vendor's card is checked for sufficient funds up front and charged once delivery finishes.
CASH The delivery price is collected from the end client.
BALANCE Drawn from the vendor balance, which can be topped up in advance.
PAYME Paid through Payme.

Delivery types

Value Behaviour
EXPRESS Deliver right away.
DELAYED Schedule for later — supply delivery.time in UTC.

Notes

  • Noor currently limits pickup locations (origin) to one, so product information inside origin is not required.
  • When delivery.product_paid is true, Noor assumes the product price is already settled and will not collect it from the end client.
  • A 400 Bad Request that is not a validation error usually means a value has the wrong type — for example a string where an integer is expected.

Orders

Create, price, track, and cancel deliveries.

A typical flow is: POST /orders/eval to price a delivery, POST /orders to create it, then poll GET /orders/{order_id} (or consume webhooks) to follow it through the stages.

Create a new order

Create a standard delivery order

Authorizations:
StaticToken
Request Body schema: application/json
required

Order data

object (types.NullInt64)
required
object

Delivery type

required
Array of objects (types.PointFull)
is_business
boolean
is_integration
boolean
is_market
boolean
is_promotion
boolean
required
Array of objects (types.PointFull)
payment_type
required
string
Enum: "CASH" "CARD" "BALANCE"
object (types.NullStruct-types_PointFull)
vendor_order_id
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "card_id": {
    },
  • "delivery": {
    },
  • "destination": [
    ],
  • "is_business": true,
  • "is_integration": true,
  • "is_market": true,
  • "is_promotion": true,
  • "origin": [
    ],
  • "payment_type": "CASH",
  • "return_address": {
    },
  • "vendor_order_id": "string"
}

Response samples

Content type
application/json
{
  • "accepted_at": {
    },
  • "card": {
    },
  • "courier": {
    },
  • "courier_delivery_comment": "string",
  • "courier_order_debt_closed_at": {
    },
  • "courier_order_debt_closed_by": {
    },
  • "courier_paid_at": {
    },
  • "courier_payment_receipt_url": {
    },
  • "courier_payment_status": 0,
  • "created_at": "string",
  • "delivery": {
    },
  • "destination": [
    ],
  • "display_id": 0,
  • "distances": {
    },
  • "free_wait_time": 0,
  • "id": 0,
  • "is_business": true,
  • "is_integration": true,
  • "is_market": true,
  • "is_promotion": true,
  • "last_updated_by": {
    },
  • "link": {
    },
  • "origin": [
    ],
  • "parent_order_id": {
    },
  • "payme_link": "string",
  • "payment_type": "string",
  • "price_per_minute_after_wait": 0,
  • "pricing": {
    },
  • "rating": {
    },
  • "reason": {
    },
  • "return_address": {
    },
  • "search_started_at": {
    },
  • "search_stopped_at": {
    },
  • "service_id": {
    },
  • "stage": 0,
  • "token": "string",
  • "total_late_minutes": 0,
  • "trace": [
    ],
  • "vendor": {
    },
  • "vendor_order_id": {
    }
}

Fetch current user's orders

Retrieve orders associated with the currently authenticated user

Authorizations:
StaticToken
query Parameters
displayId
integer
fromApp
boolean
fromDate
string
isActive
boolean
isBalanceRefunded
boolean
isBusiness
boolean
isCancelled
boolean
isCancelledByCourier
boolean
isCourierDebt
boolean
isFinished
boolean
isInSearch
boolean
isNotFound
boolean
isPaid
boolean
isRated
boolean
isReturned
boolean
isScheduled
boolean
limit
integer
phone
string
search
string
skip
integer
stage
integer
tillDate
string

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "current_page": 0,
  • "data": null,
  • "last_page": 0,
  • "page_size": 0
}

Fetch order by ID

Retrieve detailed information about a specific order

Authorizations:
StaticToken
path Parameters
order_id
required
integer

Order ID

Responses

Response samples

Content type
application/json
{
  • "accepted_at": {
    },
  • "card": {
    },
  • "courier": {
    },
  • "courier_delivery_comment": "string",
  • "courier_order_debt_closed_at": {
    },
  • "courier_order_debt_closed_by": {
    },
  • "courier_paid_at": {
    },
  • "courier_payment_receipt_url": {
    },
  • "courier_payment_status": 0,
  • "created_at": "string",
  • "delivery": {
    },
  • "destination": [
    ],
  • "display_id": 0,
  • "distances": {
    },
  • "free_wait_time": 0,
  • "id": 0,
  • "is_business": true,
  • "is_integration": true,
  • "is_market": true,
  • "is_promotion": true,
  • "last_updated_by": {
    },
  • "link": {
    },
  • "origin": [
    ],
  • "parent_order_id": {
    },
  • "payme_link": "string",
  • "payment_type": "string",
  • "price_per_minute_after_wait": 0,
  • "pricing": {
    },
  • "rating": {
    },
  • "reason": {
    },
  • "return_address": {
    },
  • "search_started_at": {
    },
  • "search_stopped_at": {
    },
  • "service_id": {
    },
  • "stage": 0,
  • "token": "string",
  • "total_late_minutes": 0,
  • "trace": [
    ],
  • "vendor": {
    },
  • "vendor_order_id": {
    }
}

Evaluate standard order

Calculate pricing and estimated delivery for a standard order

Authorizations:
StaticToken
Request Body schema: application/json
required

Order data

object (types.NullInt64)
required
object

Delivery type

required
Array of objects (types.PointFull)
is_business
boolean
is_integration
boolean
is_market
boolean
is_promotion
boolean
required
Array of objects (types.PointFull)
payment_type
required
string
Enum: "CASH" "CARD" "BALANCE"
object (types.NullStruct-types_PointFull)
vendor_order_id
required
string [ 1 .. 255 ] characters

Responses

Request samples

Content type
application/json
{
  • "card_id": {
    },
  • "delivery": {
    },
  • "destination": [
    ],
  • "is_business": true,
  • "is_integration": true,
  • "is_market": true,
  • "is_promotion": true,
  • "origin": [
    ],
  • "payment_type": "CASH",
  • "return_address": {
    },
  • "vendor_order_id": "string"
}

Response samples

Content type
application/json
{
  • "additional_fixed_price": 0,
  • "dead_head_distance": 0,
  • "eta_to_del": {
    },
  • "eta_to_pu": {
    },
  • "evaluated_stage": 0,
  • "order_distance": 0,
  • "out_of_zone_points": [
    ],
  • "total_delivery_price": 0
}

Cancel an order

Cancel an existing order

Authorizations:
StaticToken
path Parameters
order_id
required
integer

Order ID

Request Body schema: application/json
required

Cancellation reason

cancel_transactions
boolean
id
integer
reason
string
reorder
boolean

Responses

Request samples

Content type
application/json
{
  • "cancel_transactions": true,
  • "id": 0,
  • "reason": "string",
  • "reorder": true
}

Response samples

Content type
application/json
{
  • "message": "error.message.key"
}

Reference Data

Look up product types and equipment types.

Get product types

Retrieve all available product types/categories

Authorizations:
StaticToken

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all equipments

Retrieve all available equipment types with localized names. When a vendor token is provided, equipment types blacklisted for that vendor are excluded from the response.

Authorizations:
StaticToken

Responses

Response samples

Content type
application/json
{ }