Skip to content

Get order detail

GET
/api/v1/orders/{id}
curl --request GET \
--url https://api.dokanmazad.com/api/v1/orders/cmosor2zy000313ny24hgtfy0 \
--header 'X-API-Key: <X-API-Key>'
id
required
string

Order CUID

Example
cmosor2zy000313ny24hgtfy0

Success

Media typeapplication/json
object
success
required
boolean
data
required
meta
object
page
integer
limit
integer
total
integer
totalPages
integer
data
required
object
id
required

CUID order ID

string
orderNumber
required

Human-readable sequential number

number
status
required

Current order status

string
allowedStatusTransitions
required

Valid next statuses the caller may transition to (depends on role)

Array<string>
progress
required

Order progress 0–100 (-1 for cancelled)

number
canCancel
required

Whether the order can be cancelled from the current status

boolean
isTerminal
required

Whether the order is in a terminal state (no further transitions)

boolean
version
required

Optimistic-lock version — pass this back when updating status or fields

number
customerId
required

Customer CUID

string
marketerId

Assigned marketer CUID

string
tenantId

Tenant CUID

string
carDetails

Car snapshot JSON. Also contains customerNotificationsEnabled flag.

object
totalAmount

Total order amount

number
currency

ISO 4217 currency code

string
notes

Internal notes

string
inspectionDate

Scheduled inspection date (set when transitioning to InspectionScheduled)

string format: date-time
customer

Embedded customer { id, name, email?, mobileNumber? }

object
marketer

Embedded marketer { id, name, email?, mobileNumber? }

object
createdAt
required

Creation timestamp

string format: date-time
updatedAt
required

Last updated timestamp

string format: date-time
financialSummary

Computed financial breakdown — { depositAmount, depositCurrency, remainingAmount, remainingCurrency, totalConfirmed }

object
signedContract

Most-recent Signed contract snapshot — { id, contractNumber, pdfUrl, signedAt } or null if no signed contract exists

object
inspection

Latest linked inspection — { id, status, inspectionDate, pdfReportUrl } or null if none exists

object
Examples
Examplesuccess
{
"success": true,
"data": {
"id": "cmosor2zy000313ny24hgtfy0",
"orderNumber": 1042,
"status": "DepositSubmitted",
"allowedStatusTransitions": [
"DepositConfirmed",
"Cancelled"
],
"progress": 0,
"canCancel": true,
"isTerminal": false,
"version": 1,
"customerId": "cmoabcde000001ny11aabbcc0",
"marketerId": "cmoabcde000002ny22aabbcc0",
"tenantId": "cmoabcde000003ny33aabbcc0",
"carDetails": {
"makeEn": "BMW",
"modelEn": "3 Series",
"year": 2023,
"price": 25000
},
"totalAmount": 25000,
"currency": "USD",
"notes": null,
"inspectionDate": null,
"customer": {
"id": "cmoabcde000001ny11aabbcc0",
"name": "Ahmed Ali",
"email": "ahmed@example.com"
},
"marketer": {
"id": "cmoabcde000002ny22aabbcc0",
"name": "Sales Rep",
"email": "sales@example.com"
},
"createdAt": "2026-05-01T08:00:00.000Z",
"updatedAt": "2026-05-01T08:00:00.000Z",
"financialSummary": {
"depositAmount": 5000,
"depositCurrency": "USD",
"remainingAmount": 20000,
"remainingCurrency": "USD",
"totalConfirmed": 5000
},
"signedContract": {
"id": "cmcont00000001ny11aabbcc0",
"contractNumber": 201,
"pdfUrl": "https://cdn.dokanmazad.com/contracts/contract-201.pdf",
"signedAt": "2026-05-03T10:00:00.000Z"
},
"inspection": {
"id": "clx1insp0001a2b3c4d5e6f",
"status": "Completed",
"inspectionDate": "2026-05-20T10:00:00.000Z",
"pdfReportUrl": "https://cdn.dokanmazad.com/inspections/report-001.pdf"
}
}
}

Unauthorized — missing or invalid API key

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Forbidden — route not in this key’s allowedRoutes

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}

Rate limit exceeded

Media typeapplication/json
object
success
required
boolean
error
required
string
statusCode
required
integer
Example
{
"success": false
}
Retry-After
integer

Seconds to wait before retrying