GET
List Statuses
Retrieve a list of all custom order statuses configured in your system.
Endpoint
HTTP Request
GET /v1/statusesAuthentication
This endpoint requires a valid API key with
canViewStatuses permission. The API key must be passed in the X-API-Key header.Required Header
X-API-Key: ucos_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXResponse
Returns all custom statuses with detailed configuration:
200 OK - Success Response
{
"success": true,
"data": {
"statuses": [
{
"id": "string",
"name": "string",
"public_name": null,
"use_public_name": true,
"display_name": "string",
"color": "string",
"order": 0,
"is_independent": true,
"is_addon": true,
"workflow_id": "string",
"workflow_name": "string",
"notifications": {
"email": true,
"sms": true,
"whatsapp": true
},
"shopify_order_effect": "string",
"max_duration": {
"enabled": true,
"seconds": 0,
"skip_weekends": true,
"skip_holidays": true,
"show_public_overdue_date": true
},
"sub_status_group": null
}
],
"summary": {
"total": 0,
"addon_count": 0,
"independent_count": 0,
"workflow_count": 0
},
"workflows_enabled": true,
"workflows": [
{
"id": "string",
"name": "string",
"description": null,
"color": "string",
"order": 0
}
]
}
}Response Fields
Root Response Object
| Field | Type | Description |
|---|---|---|
success | boolean | Always true on a successful response. |
data | object | The endpoint's payload. Its fields are listed in the tables below. |
statuses | array | Array of status objects |
summary | object | Summary object with count |
workflows_enabled | boolean | Whether the multi-workflow feature is active for this shop |
workflows | array | List of all workflows with id, name, description, color, and order |
Status Object Fields
| Field | Type | Description |
|---|---|---|
id | string | UUID of the status |
name | string | Internal name of the status |
public_name | string | null | Customer-facing name |
use_public_name | boolean | Whether to use public name for customers |
display_name | string | Computed display name (public_name if use_public_name is true, otherwise name) |
color | string | Hex color code for the status |
order | number | Display order in workflow |
is_independent | boolean | Whether status can be used independently of workflow |
is_addon | boolean | Whether this is an addon status (v1.1+ only) |
workflow_id | string | null | UUID of the workflow this status belongs to (v1.3+ only) |
workflow_name | string | null | Name of the workflow this status belongs to (v1.3+ only) |
notifications | object | Object containing notification settings |
shopify_order_effect | string | Effect on Shopify order (e.g., NONE, MARKS_ORDER_FULFILLED) |
max_duration | object | Object containing duration limit settings |
sub_status_group | object | null | Object containing sub-status group details, or null |
Notifications Object Fields
| Field | Type | Description |
|---|---|---|
email | boolean | Whether email notifications are enabled |
sms | boolean | Whether SMS notifications are enabled |
whatsapp | boolean | Whether WhatsApp notifications are enabled |
Max Duration Object Fields
| Field | Type | Description |
|---|---|---|
enabled | boolean | Whether max duration is enabled |
seconds | number | Maximum duration in seconds |
skip_weekends | boolean | Whether to skip weekends in duration calculation |
skip_holidays | boolean | Whether to skip holidays in duration calculation (v1.2+) |
show_public_overdue_date | boolean | Whether to show overdue date to customers |
Sub-Status Group Object Fields
| Field | Type | Description |
|---|---|---|
id | string | UUID of the sub-status group |
name | string | Name of the sub-status group |
options | array | Array of sub-status options |
Sub-Status Option Fields
| Field | Type | Description |
|---|---|---|
id | string | UUID of the sub-status option |
name | string | Name of the sub-status option |
order | number | Display order of the sub-status option |
Workflow Object Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the workflow |
name | string | Display name of the workflow |
description | string | null | Optional description of the workflow's purpose |
color | string | Hex color code for UI display |
order | number | Display order position (ascending) |
Summary Object Fields
| Field | Type | Description |
|---|---|---|
total | number | Total number of statuses |
addon_count | number | Number of addon statuses |
independent_count | number | Number of independent statuses |
workflow_count | number | Number of workflows containing statuses |
Examples
Basic Request
cURL Request
curl -X GET "https://api.ultimate-custom-order-status.apps.msmtech.ca/api/v1/statuses" \
-H "X-API-Key: ucos_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
-H "X-API-Version: 1.5"Rate Limiting
This endpoint is subject to per-minute and per-day rate limits based on your API key. Rate limit information is returned in the response headers:
X-RateLimit-Limit-Minute: Maximum requests per minuteX-RateLimit-Remaining-Minute: Remaining requests in current minuteX-RateLimit-Reset-Minute: Unix timestamp when minute window resetsX-RateLimit-Limit-Day: Maximum requests per dayX-RateLimit-Remaining-Day: Remaining requests in current dayX-RateLimit-Reset-Day: Unix timestamp when day window resetsRetry-After: Seconds to wait before retrying (when rate limited)
Error Responses
401 Unauthorized
Missing or invalid API key
401 Unauthorized
{
"success": false,
"error": "Missing API key. Include it in the X-API-Key header"
}403 Forbidden
API key lacks required permissions
403 Forbidden
{
"success": false,
"error": "Insufficient permissions. Required: canViewStatuses"
}500 Internal Server Error
Server error occurred
500 Internal Server Error
{
"success": false,
"error": "Internal server error",
"details": {
"message": "An unexpected error occurred"
}
}