#
Orders
#
Introduction
Using our order management API, you can seamlessly dispatch orders to Armada drivers and access key details, including fees, delivery estimates, tracking links, and more. Our service is available in Kuwait, Bahrain, and Saudi Arabia (KSA).
#
Order Schema
Place an order via HTTP POST at:
https://api.armadadelivery.com/v1/deliveries
Required Permission: delivery:write
The body of the request should be in JSON format and include the following parameters:
reference: Order reference ID String - Requiredorigin_format: Format type of the origin, can be"branch_format"or"location_format"String - Requiredorigin: Contains information about the origin, depends on origin_format Object - RequiredWhen branch_formatbranch_id: Branch ID (24-character hexadecimal) String - Required
When location_formatcontact_name: Contact name String - Requiredcontact_phone: Contact phone String - Requiredlatitude: Latitude coordinate Number - Requiredlongitude: Longitude coordinate Number - Requiredfirst_line: Address first line (good for drivers to locate the destination faster) String - Optionalfloor: Floor number String - Optionalapartment: Apartment number String - Optional
destination_format: Format type of the destination, can be"location_format","kuwait_format","bahrain_format","ksa_format","ksa_short_format"String - Requireddestination: Contains the customer's destination information, depends on destination_format Object - RequiredWhen location_formatcontact_name: Customer name String - Requiredcontact_phone: Customer phone String - Requiredlatitude: Latitude coordinate Number - Requiredlongitude: Longitude coordinate Number - Requiredfirst_line: Address first line (good for drivers to locate the destination faster) String - Optionalfloor: Floor number String - Optionalapartment: Apartment number String - Optionalinstructions: Delivery instructions String - Optional
When kuwait_formatcontact_name: Customer name String - Requiredcontact_phone: Customer phone String - Requiredarea: Area name String - Requiredblock: Block number String - Requiredstreet: Street name/number String - Requiredbuilding: Building number String - Requiredfloor: Floor number String - Optionalapartment: Apartment number String - Optionalinstructions: Delivery instructions String - Optional
When bahrain_formatcontact_name: Customer name String - Requiredcontact_phone: Customer phone String - Requiredarea: Area name String - Requiredblock: Block number String - Requiredstreet: Street name/number String - Requiredbuilding: Building number String - Requiredfloor: Floor number String - Optionalapartment: Apartment number String - Optionalinstructions: Delivery instructions String - Optional
When ksa_formatcontact_name: Customer name String - Requiredcontact_phone: Customer phone String - Requiredcity: City name String - Requiredstreet: Street name String - Requireddistrict: District name String - Requiredbuilding: Building number String - Requiredfloor: Floor number String - Optionalapartment: Apartment number String - Optionalinstructions: Delivery instructions String - Optional
When ksa_short_formatcontact_name: Customer name String - Requiredcontact_phone: Customer phone String - Requiredshort_address: Short address code String - Requiredinstructions: Delivery instructions String - Optional
payment: Payment details Object - Requiredamount: Total amount for the order Number - Requiredtype: Payment type, can be"paid"or"cash"String - Required
scheduled_date: Desired start time for the order ISO Date - Optional- The specified time must be later than the current time. If the time is within 30 minutes, the order will be processed immediately.
#
Create Order Example
You can now select the appropriate destination format based on your location. Choose location format for universal deliveries or country-specific formats based on your region.
Remember to include your Armada-Access-Token in the request headers. If you don't have one, please refer to the Authentication page to learn how to obtain it.
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference": "A97UI5R",
"origin_format": "branch_format",
"origin": {
"branch_id": "682473e10313f6003826e5d7"
},
"destination_format": "location_format",
"destination": {
"contact_name": "Nadeen",
"contact_phone": "+212680980068",
"first_line": "Al-Dohah Port, Kuwait",
"latitude": 29.355,
"longitude": 47.8046,
"instructions": "Leave the order by the front door and ring the bell"
},
"payment": {
"amount": 3.00,
"type": "cash"
}
}'
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference": "ORD-654789123",
"origin_format": "branch_format",
"origin": {
"branch_id": "682473e10313f6003826e5d7"
},
"destination_format": "kuwait_format",
"destination": {
"contact_name": "Fatima Ahmed",
"contact_phone": "+96512340003",
"area": "Hawally",
"block": "5",
"street": "15",
"building": "42",
"floor": "2",
"apartment": "12A",
"instructions": "Put it in front of the door and ring the bell"
},
"payment": {
"amount": 3.00,
"type": "cash"
}
}'
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference": "ORD-9876BHR",
"origin_format": "branch_format",
"origin": {
"branch_id": "682473e10313f6003826e5d7"
},
"destination_format": "bahrain_format",
"destination": {
"contact_name": "Rajae",
"contact_phone": "+97333985678",
"area": "Adliya",
"block": "338",
"street": "Road 2819",
"building": "150",
"floor": "2",
"apartment": "12A",
"instructions": "Leave the order by the front door and ring the bell"
},
"payment": {
"amount": 10.00,
"type": "paid"
}
}'
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference": "ORD-1234KSA",
"origin_format": "branch_format",
"origin": {
"branch_id": "682473e10313f6003826e5d7"
},
"destination_format": "ksa_format",
"destination": {
"contact_name": "Amal",
"contact_phone": "+966501234567",
"city": "Al Olaya",
"street": "King Fahd Road",
"district": "Al Olaya District",
"building": "456",
"floor": "3",
"apartment": "8B",
"instructions": "Please leave the package at the reception."
},
"payment": {
"amount": 15.00,
"type": "cash"
}
}'
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference": "ORD-5678KSA",
"origin_format": "branch_format",
"origin": {
"branch_id": "682473e10313f6003826e5d7"
},
"destination_format": "ksa_short_format",
"destination": {
"contact_name": "Bashir",
"contact_phone": "+966501234567",
"short_address": "RFNB4718",
"instructions": "Leave the package with the security guard."
},
"payment": {
"amount": 20.00,
"type": "paid"
}
}'
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--header 'Content-Type: application/json' \
--data-raw '{
"reference": "ORD-LOC-9999",
"origin_format": "location_format",
"origin": {
"contact_name": "Ahmed Ali",
"contact_phone": "+212680985566",
"latitude": 29.3140728,
"longitude": 48.021550,
"floor": "2",
"apartment": "5"
},
"destination_format": "location_format",
"destination": {
"contact_name": "Sara Ahmed",
"contact_phone": "+965555123456",
"first_line": "456 Market Street",
"latitude": 29.355069903470575,
"longitude": 47.80469652165224,
"floor": "4",
"apartment": "15A",
"instructions": "Call upon arrival"
},
"payment": {
"amount": 12.00,
"type": "cash"
}
}'
#
Response Schema
After successful completion, our API will provide a JSON response containing the following parameters:
code: Delivery ID within Armada Stringstatus: Status of the order, one of:pending,dispatched,waiting_pack,en_route,completed,canceled,failedStringamount: Order amount set by the merchant Numbercreated_at: Date of delivery creation ISO Datecurrency: Currency used for this delivery Stringdelivery_fee: Cost of the delivery Numbercustomer: Customer information Objectname: Customer name Stringphone: Customer phone number Stringaddress: Customer address generated by Armada based on platform data Stringlatitude: Latitude of the customer location Numberlongitude: Longitude of the customer location Number
driver: Driver data (fields can be empty/null depending on driver availability) Objectname: Driver name Stringphone: Driver phone Stringlatitude: Driver latitude coordinate Number/Nulllongitude: Driver longitude coordinate Number/Null
logistics: Logistics information Objectestimated_distance: Estimated distance from pickup to customer destination in meters Numberestimated_duration: Estimated duration from pickup to customer destination in seconds Numbertracking_url: Link to a public page showing live delivery progress (share it with your client ) URLpickup_qr_url: Link to the QR code for the driver to scan if not performed within the merchant dashboard URL
#
Response Example
{
"code": "89CC2FE26D",
"status": "pending",
"amount": 3,
"created_at": "2026-01-05T15:40:44.458Z",
"currency": "KWD",
"delivery_fee": 14.75,
"customer": {
"name": "Jean",
"phone": "212680980068",
"address": "Mina Doha, Block 1, Doha Road",
"latitude": 29.355,
"longitude": 47.8046
},
"driver": {
"name": "",
"phone": "",
"latitude": null,
"longitude": null
},
"logistics": {
"estimated_distance": 96523,
"estimated_duration": 5615.614600000001,
"tracking_url": "https://sandbox.tracking.armadadelivery.com/244ed75c-621f-4963-ae5c-76d5d9ca2c2e",
"pickup_qr_url": "https://armada-sand.s3.eu-central-1.amazonaws.com/qrCodes/2545be5db4269c9c0cc4160b4fb46b60.svg"
}
}
#
Get Order
Get order details via HTTP GET at:
https://api.armadadelivery.com/v1/deliveries/:code
Required Permission: delivery:read
code: Code returned by order creation String - Required
#
Request Example
(e.g code = 89CC2FE26D)
Remember to include your Armada-Access-Token in the request headers. If you don't have one, please refer to the Authentication page to learn how to obtain it.
curl --location --request GET 'https://api.armadadelivery.com/v1/deliveries/89CC2FE26D' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]'
#
Response Example
For more details see
{
"code": "89CC2FE26D",
"status": "pending",
"amount": 3,
"created_at": "2026-01-05T15:40:44.458Z",
"currency": "KWD",
"delivery_fee": 14.75,
"customer": {
"name": "Jean",
"phone": "212680980068",
"address": "Mina Doha, Block 1, Doha Road",
"latitude": 29.355,
"longitude": 47.8046
},
"driver": {
"name": "",
"phone": "",
"latitude": null,
"longitude": null
},
"logistics": {
"estimated_distance": 96523,
"estimated_duration": 5615.614600000001,
"tracking_url": "https://sandbox.tracking.armadadelivery.com/244ed75c-621f-4963-ae5c-76d5d9ca2c2e",
"pickup_qr_url": "https://armada-sand.s3.eu-central-1.amazonaws.com/qrCodes/2545be5db4269c9c0cc4160b4fb46b60.svg"
}
}
#
Cancel Order
To cancel an order, you will need to make an HTTP POST request to the following endpoint:
https://api.armadadelivery.com/v1/deliveries/:code/cancel
Required Permission: delivery:cancel
code: Code returned by order creation String - Required
#
Request Example
(e.g code = 89CC2FE26D)
Remember to include your Armada-Access-Token in the request headers. If you don't have one, please refer to the Authentication page to learn how to obtain it.
curl --location --request POST 'https://api.armadadelivery.com/v1/deliveries/89CC2FE26D/cancel' \
--header 'Armada-Access-Token: [YOUR ACCESS TOKEN]' \
--data ''
#
Response Example
For more details see
{
"code": "89CC2FE26D",
"status": "canceled",
"amount": 3,
"created_at": "2026-01-05T15:40:44.458Z",
"currency": "KWD",
"delivery_fee": 14.75,
"customer": {
"name": "Jean",
"phone": "212680980068",
"address": "Mina Doha, Block 1, Doha Road",
"latitude": 29.355,
"longitude": 47.8046
},
"driver": {
"name": "",
"phone": "",
"latitude": null,
"longitude": null
},
"logistics": {
"estimated_distance": 96523,
"estimated_duration": 5615.614600000001,
"tracking_url": "https://sandbox.tracking.armadadelivery.com/244ed75c-621f-4963-ae5c-76d5d9ca2c2e",
"pickup_qr_url": "https://armada-sand.s3.eu-central-1.amazonaws.com/qrCodes/2545be5db4269c9c0cc4160b4fb46b60.svg"
}
}