Get unified customer timeline (messages, orders, billing events, notes)
const url = 'https://api.dokanmazad.com/api/v1/customers/cmoabcde000001ny11aabbcc0/timeline?limit=20&cursor=2026-05-01T09%3A30%3A00.000Z_message_clxyz12300msg0001&types=order_log%2Cbilling';const options = {method: 'GET', headers: {'X-API-Key': '<X-API-Key>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.dokanmazad.com/api/v1/customers/cmoabcde000001ny11aabbcc0/timeline?limit=20&cursor=2026-05-01T09%3A30%3A00.000Z_message_clxyz12300msg0001&types=order_log%2Cbilling' \ --header 'X-API-Key: <X-API-Key>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Customer user CUID
Example
cmoabcde000001ny11aabbcc0Query Parameters
Section titled “Query Parameters”Items to return per page (1–100, default 20)
Example
20Cursor for pagination. Format: {ISO_timestamp}{source_type}{source_id}. Obtain from meta.nextCursor of the previous response.
Example
2026-05-01T09:30:00.000Z_message_clxyz12300msg0001Comma-separated event types to include. Valid values: message | call | order_log | note | billing | notification
Example
order_log,billingResponses
Section titled “Responses”Success
object
object
object
Event type — message | call | order_log | note | billing | notification
Event timestamp (sorted newest-first)
Human-readable event title
Event description
Type-specific metadata. For order_log: { fromStatus, toStatus, orderId }. For message: { direction, messageType, status }. For billing: { amount, currency, billingStatus }.
object
CUID of the user who triggered the event (null for inbound messages)
CUID of the source record (OrderLog ID, Message ID, Billing ID, etc.)
Examples
{ "success": true, "data": [ { "type": "order_log", "timestamp": "2026-05-02T08:00:00.000Z", "title": "Order status changed", "description": "DepositSubmitted → DepositConfirmed", "metadata": { "fromStatus": "DepositSubmitted", "toStatus": "DepositConfirmed", "orderId": "cmosor2zy000313ny24hgtfy0" }, "actorId": "cmoabcde000004ny44aabbcc0", "sourceId": "cmlog000000001ny11aabbcc0" }, { "type": "message", "timestamp": "2026-05-01T09:30:00.000Z", "title": "Customer Message", "description": "Hello, I want to track my order.", "metadata": { "direction": "inbound", "messageType": "text", "status": "delivered" }, "actorId": null, "sourceId": "clxyz12300msg0001" } ]}Unauthorized — missing or invalid API key
object
Example
{ "success": false}Forbidden — route not in this key’s allowedRoutes
object
Example
{ "success": false}Rate limit exceeded
object
Example
{ "success": false}Headers
Section titled “Headers”Seconds to wait before retrying
