{
    "info": {
        "name": "Transport Management System v1.0",
        "description": "Generated live from the deployed OpenAPI document at https://api.superlabel.ca/api/documentation/postman-collection — re-download any time for the latest version. Set the base_url and access_token collection variables before use.",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
    },
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "token",
                "value": "{{access_token}}",
                "type": "string"
            }
        ]
    },
    "variable": [
        {
            "key": "base_url",
            "value": "https://api.superlabel.ca/api"
        },
        {
            "key": "access_token",
            "value": ""
        }
    ],
    "item": [
        {
            "name": "Address",
            "item": [
                {
                    "name": "Get address by postcode",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/address/:postcode",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "address",
                                ":postcode"
                            ],
                            "variable": [
                                {
                                    "key": "postcode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get address by postcode"
                    },
                    "response": []
                },
                {
                    "name": "Search address by structured address",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/structuredAddressSearch",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "structuredAddressSearch"
                            ]
                        },
                        "description": "Search address by structured address",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"address\": \"6701,rue hadley\",\n    \"city\": \"montreal\",\n    \"province\": \"qc\",\n    \"country\": \"CA\",\n    \"postcode\": \"H4E3R3\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Search address by text",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/addressSearch",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "addressSearch"
                            ]
                        },
                        "description": "Search address by text",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"address\": \"6701,rue hadley,montreal,qc,ca\",\n    \"country\": \"CA\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "AddressBook",
            "item": [
                {
                    "name": "get users address list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/addressbook",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "addressbook"
                            ],
                            "query": [
                                {
                                    "key": "address_ids",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "myaddress",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "fulfillment_center_only",
                                    "value": "",
                                    "description": "Set to 1 to return only fulfillment centers. Default 0 (no filter)."
                                }
                            ]
                        },
                        "description": "get users address list"
                    },
                    "response": []
                },
                {
                    "name": "Create an addressbook",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/addressbook",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "addressbook"
                            ]
                        },
                        "description": "Create an addressbook",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"unique_identifier\": 123123123,\n    \"postcode\": \"H9S2H9\",\n    \"street_number\": \"2667\",\n    \"street_name\": \"boul des sources\",\n    \"apt\": \"123\",\n    \"city\": \"pointe-claire\",\n    \"province\": \"QC\",\n    \"country\": \"Canada\",\n    \"name\": \"John\",\n    \"email\": \"join@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"is_point\": 1,\n    \"is_warehouse\": 1,\n    \"is_default_shipping_from\": 0,\n    \"wms_setting_id\": 1,\n    \"warehouse_id\": \"test\",\n    \"rewrite\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get users address detail",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/addressbook/:address_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "addressbook",
                                ":address_id"
                            ],
                            "variable": [
                                {
                                    "key": "address_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get users address detail"
                    },
                    "response": []
                },
                {
                    "name": "update  addressbook by id",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/addressbook/:address_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "addressbook",
                                ":address_id"
                            ],
                            "variable": [
                                {
                                    "key": "address_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "update  addressbook by id",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"unique_identifier\": \"test\",\n    \"postcode\": \"H9S2H9\",\n    \"street_number\": \"2667\",\n    \"street_name\": \"boul des sources\",\n    \"apt\": \"123\",\n    \"city\": \"pointe-claire\",\n    \"province\": \"QC\",\n    \"country\": \"Canada\",\n    \"name\": \"John\",\n    \"email\": \"join@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"is_point\": 1,\n    \"is_warehouse\": 1,\n    \"is_default_shipping_from\": 0,\n    \"wms_setting_id\": 1,\n    \"warehouse_id\": \"test\",\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "delete address book",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/addressbook/:address_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "addressbook",
                                ":address_id"
                            ],
                            "variable": [
                                {
                                    "key": "address_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "delete address book"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Alliance",
            "item": [
                {
                    "name": "Get my alliances",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance"
                            ]
                        },
                        "description": "Returns a list of alliances that the authenticated client has joined or created."
                    },
                    "response": []
                },
                {
                    "name": "Create a new alliance",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance"
                            ]
                        },
                        "description": "Creates a new delivery alliance. The authenticated user becomes the owner."
                    },
                    "response": []
                },
                {
                    "name": "Request to join an alliance",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/join",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                "join"
                            ]
                        },
                        "description": "Request to join an alliance by providing the 8-character alliance code. For open alliances, the user is immediately added. For approval-required alliances, a pending request is created."
                    },
                    "response": []
                },
                {
                    "name": "Get accessible client IDs for tracking",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/accessible-clients",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                "accessible-clients"
                            ],
                            "query": [
                                {
                                    "key": "permission_type",
                                    "value": "",
                                    "description": "Permission type to check (default: tracking_view)"
                                }
                            ]
                        },
                        "description": "Returns a list of client IDs whose data can be accessed through alliance permissions. Useful for tracking queries."
                    },
                    "response": []
                },
                {
                    "name": "Get alliance details",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Returns detailed information about an alliance including members and permissions."
                    },
                    "response": []
                },
                {
                    "name": "Update alliance info",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Updates alliance information. Only owner or admin can perform this action."
                    },
                    "response": []
                },
                {
                    "name": "Dissolve alliance",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Dissolves the alliance. Only the owner can perform this action. All members will be removed."
                    },
                    "response": []
                },
                {
                    "name": "Leave an alliance",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/leave",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "leave"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Leave the specified alliance. Owners cannot leave - they must transfer ownership or dissolve."
                    },
                    "response": []
                },
                {
                    "name": "Get alliance members",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/members",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "members"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Returns a list of all members in the alliance."
                    },
                    "response": []
                },
                {
                    "name": "Invite a member to alliance",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/invite",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "invite"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Invites a client to join the alliance. Only owner or admin can invite. The invitee must be a client admin."
                    },
                    "response": []
                },
                {
                    "name": "Get pending join requests",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/pending-requests",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "pending-requests"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Returns a list of pending join requests for the alliance. Only owner or admin can view."
                    },
                    "response": []
                },
                {
                    "name": "Approve a join request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/members/:memberId/approve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                "members",
                                ":memberId",
                                "approve"
                            ],
                            "variable": [
                                {
                                    "key": "memberId",
                                    "value": "",
                                    "description": "Alliance member ID"
                                }
                            ]
                        },
                        "description": "Approves a pending join request. Only owner or admin can approve."
                    },
                    "response": []
                },
                {
                    "name": "Reject a join request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/members/:memberId/reject",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                "members",
                                ":memberId",
                                "reject"
                            ],
                            "variable": [
                                {
                                    "key": "memberId",
                                    "value": "",
                                    "description": "Alliance member ID"
                                }
                            ]
                        },
                        "description": "Rejects a pending join request. Only owner or admin can reject."
                    },
                    "response": []
                },
                {
                    "name": "Remove a member from alliance",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/members/:memberId/remove",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                "members",
                                ":memberId",
                                "remove"
                            ],
                            "variable": [
                                {
                                    "key": "memberId",
                                    "value": "",
                                    "description": "Alliance member ID"
                                }
                            ]
                        },
                        "description": "Removes a member from the alliance. Only owner or admin can remove. Cannot remove the owner."
                    },
                    "response": []
                },
                {
                    "name": "Get alliance permissions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/permissions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "permissions"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Returns both alliance-level permissions and the current user's member permissions."
                    },
                    "response": []
                },
                {
                    "name": "Update alliance-level permissions",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/permissions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "permissions"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Updates the alliance-level permission settings. Only owner or admin can update."
                    },
                    "response": []
                },
                {
                    "name": "Update my permissions in an alliance",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/my-permissions/:allianceId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                "my-permissions",
                                ":allianceId"
                            ],
                            "variable": [
                                {
                                    "key": "allianceId",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Updates the current user's permission settings (share/receive) in the specified alliance."
                    },
                    "response": []
                },
                {
                    "name": "Transfer ownership",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/transfer-ownership",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "transfer-ownership"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Transfers alliance ownership to another active member. Only the current owner can perform this action. The previous owner becomes an admin."
                    },
                    "response": []
                },
                {
                    "name": "Get access logs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/alliance/:id/access-logs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "alliance",
                                ":id",
                                "access-logs"
                            ],
                            "query": [
                                {
                                    "key": "start_date",
                                    "value": "",
                                    "description": "Filter by start date"
                                },
                                {
                                    "key": "end_date",
                                    "value": "",
                                    "description": "Filter by end date"
                                },
                                {
                                    "key": "resource_type",
                                    "value": "",
                                    "description": "Filter by resource type"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Alliance ID"
                                }
                            ]
                        },
                        "description": "Returns access logs for the alliance. Admin/owner can see all logs, regular members can only see logs related to their own data."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "BatchProcessing",
            "item": [
                {
                    "name": "POST /v1/batchprocessing/create",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/batchprocessing/create",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "batchprocessing",
                                "create"
                            ]
                        },
                        "description": ""
                    },
                    "response": []
                },
                {
                    "name": "get batch processing result",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/batchprocessing/result",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "batchprocessing",
                                "result"
                            ]
                        },
                        "description": "get batch processing result",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Client",
            "item": [
                {
                    "name": "get customer list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/customers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "customers"
                            ],
                            "query": [
                                {
                                    "key": "customer_ids",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get customer list"
                    },
                    "response": []
                },
                {
                    "name": "get order channels list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/orderchannels",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "orderchannels"
                            ],
                            "query": [
                                {
                                    "key": "customer_id",
                                    "value": "",
                                    "description": "Customer user ID used to apply customer-specific Local Delivery channel restrictions."
                                },
                                {
                                    "key": "customer_code",
                                    "value": "",
                                    "description": "Customer code used to apply customer-specific Local Delivery channel restrictions."
                                }
                            ]
                        },
                        "description": "Returns active channels enabled for Local Delivery orders. Channels reserved for Storage, Moving, or Shipping are excluded. When customer_id or customer_code is provided, the customer's Local Delivery channel whitelist is applied; an empty whitelist means all Local Delivery channels. Default Channel is represented by an empty order_channel_code and is allowed only when the business Default Channel Local Delivery setting is enabled and it is included in the customer's whitelist or no whitelist is configured."
                    },
                    "response": []
                },
                {
                    "name": "Get available surcharges for local delivery orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/surcharges",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "surcharges"
                            ],
                            "query": [
                                {
                                    "key": "channel_id",
                                    "value": "",
                                    "description": "Optional channel ID to filter surcharges by channel conditions"
                                }
                            ]
                        },
                        "description": "Get available surcharges for local delivery orders"
                    },
                    "response": []
                },
                {
                    "name": "Create an order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/orderCreate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "orderCreate"
                            ]
                        },
                        "description": "Orders routed to a third-party carrier whose price plan bills by the carrier's cost (fee mode 2 or 3) are quoted with that carrier before this endpoint answers, so shipping_price is the third-party price and is what gets charged - it is not revised afterwards. The price is checked first, then the regions: if no price can be found — the rate card has no row for the address, or the carrier returns no price — AND the postcode belongs to no active region, the delivery address counts as outside the delivery area, and the response never says which carrier was asked or what it answered. An address inside an active region is never outside the delivery area; without a price it is simply left unpriced. When the business keeps such orders and shows no notice, nothing is checked at all and the order is simply created unpriced. What happens next follows the business's Orders Outside the Delivery Area setting (Settings): Keep (default) or Hold create the order — shipping_price, price_details and currency come back null and `warning` carries the out-of-area message — always for a held order, and for a kept one only when the business's Show Out-of-Delivery-Area Notice setting is on (a held order sits in Hold until an operator releases it); Delete refuses it with result: false, code OUT_OF_DELIVERY_AREA and the same message, and nothing is created or charged. If the order later leaves that carrier - returned to self delivery, the assignment cancelled, or re-routed to another carrier - it goes back to the rate card (or to the new carrier's cost) and the difference is posted as an adjustment or credit, like any other price change. A customer with Auto Pause Local Delivery Service enabled is refused when balance + credit does not cover the order's fee: the order is not created, nothing is charged, and the response carries code INSUFFICIENT_BALANCE plus an insufficient_balance block giving required, available and shortfall, the top-up channels the business has configured, and an add_funds_url. Coordinates supplied with the order (latitude/longitude) are kept as a confirmed pin that automatic geocoding never replaces unless the address itself changes. An order the auto-assignment rules route to a third-party carrier, and that is not priced by distance, is geocoded from free map sources only; the carrier receives the address text and finds the door itself.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"type\": \"D\",\n    \"order_channel_code\": \"SMALL\",\n    \"self_pickup\": 0,\n    \"customer_id\": null,\n    \"customer_code\": null,\n    \"postcode\": \"H9S2H9\",\n    \"address_1\": \"2667 boul des sources\",\n    \"address_2\": \"123\",\n    \"combine_address\": \"true/false\",\n    \"buzz_code\": \"9393\",\n    \"ref\": \"altima-4\",\n    \"order_code\": \"ABC\",\n    \"city\": \"pointe-claire\",\n    \"province\": \"QC\",\n    \"country\": \"Canada\",\n    \"name\": \"John\",\n    \"company_name\": \"Super Route\",\n    \"email\": \"join@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"need_pick_up\": 1,\n    \"packages\": 1,\n    \"packagesDetail\": [\n        {\n            \"ref\": \"20311\",\n            \"dimension_unit\": 1,\n            \"weight_unit\": 1,\n            \"weight\": 1000,\n            \"length\": 300,\n            \"width\": 200,\n            \"height\": 100,\n            \"package_value\": 200,\n            \"insurance_value\": 200,\n            \"external_tracking_number\": \"123456789\",\n            \"notes\": \"this is a package note\"\n        }\n    ],\n    \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n    \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n    \"sender_name\": \"test\",\n    \"sender_address_1\": \"6701 RUE HADLEY\",\n    \"sender_address_2\": \"\",\n    \"sender_address_type\": 1,\n    \"sender_postcode\": \"H4E3R3\",\n    \"sender_city\": \"Montreal\",\n    \"sender_province\": \"QC\",\n    \"sender_country\": \"CA\",\n    \"sender_company_name\": \"Super Route\",\n    \"sender_email\": \"info@gmail.com\",\n    \"sender_telephone\": \"666666666\",\n    \"sender_buzz_code\": \"5151\",\n    \"pickup_instruction\": \"pickup instructions\",\n    \"delivery_instruction\": \"delivery instructions\",\n    \"note\": \"customer note\",\n    \"signature_option\": 1,\n    \"insurance_option\": 1,\n    \"insurance_value\": 200,\n    \"schedule_date\": \"2023-02-27\",\n    \"time_window_start\": \"2023-02-27 09:00:00\",\n    \"time_window_end\": \"2023-02-27 12:00:00\",\n    \"pickup_date\": \"2023-01-27\",\n    \"pickup_time_window_start\": \"2023-01-27 00:00:00\",\n    \"pickup_time_window_end\": \"2023-01-27 10:00:00\",\n    \"service_time\": 1,\n    \"pickup_time\": 1,\n    \"notification_language\": \"en\",\n    \"skills\": \"1,2,3\",\n    \"latitude\": 43.82124,\n    \"longitude\": -79.0171,\n    \"order_batch\": \"2021-08-23\",\n    \"auto_deduplication\": 1,\n    \"strict_duplicate_check\": 0,\n    \"external_customer\": {\n        \"id\": \"11\",\n        \"name\": \"test\",\n        \"email\": \"external_customer@test.com\",\n        \"system_code\": \"es1\"\n    },\n    \"allow_dropoff\": 1,\n    \"pin_verification_required\": 1,\n    \"a_scan_at\": 1633073073,\n    \"sorting_code\": 708,\n    \"fulfillment_center_code\": \"WH001\",\n    \"surcharges\": [\n        {\n            \"surcharge_id\": 1,\n            \"quantity\": 1,\n            \"selected_option\": null,\n            \"selected_options\": []\n        },\n        {\n            \"surcharge_id\": 2,\n            \"quantity\": 1,\n            \"selected_option\": \"0\",\n            \"selected_options\": []\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Batch Create orders",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/batchOrderCreate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "batchOrderCreate"
                            ]
                        },
                        "description": "Optional top-level flag per_order_transaction=1 commits each order independently, so one order's failure cannot roll back the others (a terminal error row with batch_aborted=true is appended if processing stops early); default keeps the legacy single-transaction batch. Batches over 100 orders receive an advisory X-Batch-Size-Warning response header — prefer /v1/client/batchOrderCreateAsync for large batches.\n\nOrders routed to a third-party carrier whose price plan bills by the carrier's cost (fee mode 2 or 3) are quoted with that carrier before this endpoint answers, so shipping_price is the third-party price and is what gets charged - it is not revised afterwards. The price is checked first, then the regions: if no price can be found — the rate card has no row for the address, or the carrier returns no price — AND the postcode belongs to no active region, the delivery address counts as outside the delivery area, and the response never says which carrier was asked or what it answered. An address inside an active region is never outside the delivery area; without a price it is simply left unpriced. When the business keeps such orders and shows no notice, nothing is checked at all and the order is simply created unpriced. What happens next follows the business's Orders Outside the Delivery Area setting (Settings): Keep (default) or Hold create the order — shipping_price, price_details and currency come back null and `warning` carries the out-of-area message — always for a held order, and for a kept one only when the business's Show Out-of-Delivery-Area Notice setting is on (a held order sits in Hold until an operator releases it); Delete refuses it with result: false, code OUT_OF_DELIVERY_AREA and the same message, and nothing is created or charged. In a batch these orders are quoted after the batch is committed. If the order later leaves that carrier - returned to self delivery, the assignment cancelled, or re-routed to another carrier - it goes back to the rate card (or to the new carrier's cost) and the difference is posted as an adjustment or credit, like any other price change. Fields the business marked Mandatory under Settings → Add New Order (/setting) are required per order; an order missing one is returned with result=false and the field in message, like any other validation failure, and the rest of the batch still proceeds. Rows refused by the prepaid gate (Auto Pause Local Delivery Service, when balance + credit does not cover the fee) come back as result: false with code INSUFFICIENT_BALANCE and an insufficient_balance block; those orders are not created and nothing is charged for them. The rest of the batch is unaffected. Coordinates supplied with the order (latitude/longitude) are kept as a confirmed pin that automatic geocoding never replaces unless the address itself changes. An order the auto-assignment rules route to a third-party carrier, and that is not priced by distance, is geocoded from free map sources only; the carrier receives the address text and finds the door itself.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"orders\": [\n        {\n            \"type\": \"D\",\n            \"order_channel_code\": \"SMALL\",\n            \"self_pickup\": 0,\n            \"customer_id\": null,\n            \"customer_code\": null,\n            \"postcode\": \"H9S2H9\",\n            \"address_1\": \"2667 boul des sources\",\n            \"address_2\": \"123\",\n            \"combine_address\": \"true/false\",\n            \"buzz_code\": \"9393\",\n            \"ref\": \"b-4\",\n            \"order_code\": \"ABC\",\n            \"city\": \"pointe-claire\",\n            \"province\": \"QC\",\n            \"country\": \"Canada\",\n            \"name\": \"John\",\n            \"company_name\": \"Super Route\",\n            \"email\": \"join@gmail.com\",\n            \"telephone\": \"5555555555\",\n            \"need_pick_up\": 1,\n            \"packages\": 1,\n            \"packagesDetail\": [\n                {\n                    \"ref\": \"20311\",\n                    \"weight\": 1000,\n                    \"length\": 300,\n                    \"width\": 200,\n                    \"height\": 100,\n                    \"dimension_unit\": 1,\n                    \"weight_unit\": 1,\n                    \"package_value\": 200,\n                    \"insurance_value\": 200,\n                    \"external_tracking_number\": \"123456789\",\n                    \"notes\": \"this is a package note\"\n                }\n            ],\n            \"allow_dropoff\": 1,\n            \"pin_verification_required\": 1,\n            \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n            \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n            \"sender_name\": \"test\",\n            \"sender_address_1\": \"6701 RUE HADLEY\",\n            \"sender_address_2\": \"\",\n            \"sender_address_type\": 1,\n            \"sender_postcode\": \"H4E3R3\",\n            \"sender_city\": \"Montreal\",\n            \"sender_province\": \"QC\",\n            \"sender_country\": \"CA\",\n            \"sender_company_name\": \"Super Route\",\n            \"sender_email\": \"info@gmail.com\",\n            \"sender_telephone\": \"666666666\",\n            \"sender_buzz_code\": \"5151\",\n            \"pickup_instruction\": \"pickup instructions\",\n            \"delivery_instruction\": \"delivery instructions\",\n            \"note\": \"customer note\",\n            \"signature_option\": 1,\n            \"insurance_option\": 1,\n            \"insurance_value\": 200,\n            \"schedule_date\": \"2023-02-27\",\n            \"time_window_start\": \"2023-02-27 09:00:00\",\n            \"time_window_end\": \"2023-02-27 12:00:00\",\n            \"pickup_date\": \"2023-01-27\",\n            \"pickup_time_window_start\": \"2023-01-27 00:00:00\",\n            \"pickup_time_window_end\": \"2023-01-27 10:00:00\",\n            \"service_time\": 1,\n            \"pickup_time\": 1,\n            \"notification_language\": \"en\",\n            \"skills\": \"1,2,3\",\n            \"latitude\": 43.82124,\n            \"longitude\": -79.0171,\n            \"order_batch\": \"2021-08-23\",\n            \"auto_deduplication\": 1,\n            \"external_customer\": {\n                \"id\": \"11\",\n                \"name\": \"test\",\n                \"email\": \"external_customer@test.com\",\n                \"system_code\": \"es1\"\n            },\n            \"a_scan_at\": 1633073073,\n            \"sorting_code\": 708,\n            \"fulfillment_center_code\": \"WH001\",\n            \"surcharges\": [\n                {\n                    \"code\": 1,\n                    \"selected_values\": [\n                        1\n                    ]\n                },\n                {\n                    \"code\": 2,\n                    \"selected_values\": [\n                        \"0\"\n                    ]\n                }\n            ]\n        },\n        {\n            \"type\": \"D\",\n            \"order_channel_code\": \"SMALL\",\n            \"self_pickup\": 0,\n            \"customer_id\": null,\n            \"customer_code\": null,\n            \"postcode\": \"H9S2H9\",\n            \"address_1\": \"2667 boul des sources\",\n            \"address_2\": \"123\",\n            \"combine_address\": \"true/false\",\n            \"buzz_code\": \"9393\",\n            \"ref\": \"c-4\",\n            \"order_code\": \"ABC\",\n            \"city\": \"pointe-claire\",\n            \"province\": \"QC\",\n            \"country\": \"Canada\",\n            \"name\": \"John\",\n            \"company_name\": \"Super Route\",\n            \"email\": \"join@gmail.com\",\n            \"telephone\": \"5555555555\",\n            \"need_pick_up\": 1,\n            \"packages\": 1,\n            \"packagesDetail\": [\n                {\n                    \"ref\": \"20312\",\n                    \"weight\": 1000,\n                    \"length\": 300,\n                    \"width\": 200,\n                    \"height\": 100,\n                    \"dimension_unit\": 1,\n                    \"weight_unit\": 1,\n                    \"package_value\": 200,\n                    \"insurance_value\": 200,\n                    \"external_tracking_number\": \"123456789\",\n                    \"notes\": \"this is a package note\"\n                }\n            ],\n            \"allow_dropoff\": 1,\n            \"pin_verification_required\": 1,\n            \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n            \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n            \"sender_name\": \"test\",\n            \"sender_address_1\": \"6701 RUE HADLEY\",\n            \"sender_address_2\": \"\",\n            \"sender_address_type\": 1,\n            \"sender_postcode\": \"H4E3R3\",\n            \"sender_city\": \"Montreal\",\n            \"sender_province\": \"QC\",\n            \"sender_country\": \"CA\",\n            \"sender_company_name\": \"Super Route\",\n            \"sender_email\": \"info@gmail.com\",\n            \"sender_telephone\": \"666666666\",\n            \"sender_buzz_code\": \"5151\",\n            \"pickup_instruction\": \"pickup instructions\",\n            \"delivery_instruction\": \"delivery instructions\",\n            \"note\": \"customer note\",\n            \"signature_option\": 1,\n            \"insurance_option\": 1,\n            \"insurance_value\": 200,\n            \"schedule_date\": \"2023-02-27\",\n            \"time_window_start\": \"2023-02-27 09:00:00\",\n            \"time_window_end\": \"2023-02-27 12:00:00\",\n            \"pickup_date\": \"2023-01-27\",\n            \"pickup_time_window_start\": \"2023-01-27 00:00:00\",\n            \"pickup_time_window_end\": \"2023-01-27 10:00:00\",\n            \"service_time\": 1,\n            \"pickup_time\": 1,\n            \"notification_language\": \"en\",\n            \"skills\": \"1,2,3\",\n            \"latitude\": 43.82124,\n            \"longitude\": -79.0171,\n            \"order_batch\": \"2021-08-23\",\n            \"auto_deduplication\": 1,\n            \"external_customer\": {\n                \"id\": \"11\",\n                \"name\": \"test\",\n                \"email\": \"external_customer@test.com\",\n                \"system_code\": \"es1\"\n            },\n            \"a_scan_at\": 1633073073,\n            \"sorting_code\": 708,\n            \"fulfillment_center_code\": \"WH001\"\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Batch Create orders",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/batchOrderCreateAsync",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "batchOrderCreateAsync"
                            ]
                        },
                        "description": "Orders routed to a third-party carrier whose price plan bills by the carrier's cost (fee mode 2 or 3) are quoted with that carrier before this endpoint answers, so shipping_price is the third-party price and is what gets charged - it is not revised afterwards. The price is checked first, then the regions: if no price can be found — the rate card has no row for the address, or the carrier returns no price — AND the postcode belongs to no active region, the delivery address counts as outside the delivery area, and the response never says which carrier was asked or what it answered. An address inside an active region is never outside the delivery area; without a price it is simply left unpriced. When the business keeps such orders and shows no notice, nothing is checked at all and the order is simply created unpriced. What happens next follows the business's Orders Outside the Delivery Area setting (Settings): Keep (default) or Hold create the order — shipping_price, price_details and currency come back null and `warning` carries the out-of-area message — always for a held order, and for a kept one only when the business's Show Out-of-Delivery-Area Notice setting is on (a held order sits in Hold until an operator releases it); Delete refuses it with result: false, code OUT_OF_DELIVERY_AREA and the same message, and nothing is created or charged. If the order later leaves that carrier - returned to self delivery, the assignment cancelled, or re-routed to another carrier - it goes back to the rate card (or to the new carrier's cost) and the difference is posted as an adjustment or credit, like any other price change. Rows refused by the prepaid gate (Auto Pause Local Delivery Service, when balance + credit does not cover the fee) come back as result: false with code INSUFFICIENT_BALANCE and an insufficient_balance block; those orders are not created and nothing is charged for them. The rest of the batch is unaffected. Coordinates supplied with the order (latitude/longitude) are kept as a confirmed pin that automatic geocoding never replaces unless the address itself changes. An order the auto-assignment rules route to a third-party carrier, and that is not priced by distance, is geocoded from free map sources only; the carrier receives the address text and finds the door itself.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"orders\": [\n        {\n            \"type\": \"D\",\n            \"order_channel_code\": \"SMALL\",\n            \"self_pickup\": 0,\n            \"customer_id\": null,\n            \"customer_code\": null,\n            \"postcode\": \"H9S2H9\",\n            \"address_1\": \"2667 boul des sources\",\n            \"address_2\": \"123\",\n            \"combine_address\": \"true/false\",\n            \"buzz_code\": \"9393\",\n            \"ref\": \"b-4\",\n            \"order_code\": \"ABC\",\n            \"city\": \"pointe-claire\",\n            \"province\": \"QC\",\n            \"country\": \"Canada\",\n            \"name\": \"John\",\n            \"company_name\": \"Super Route\",\n            \"email\": \"join@gmail.com\",\n            \"telephone\": \"5555555555\",\n            \"need_pick_up\": 1,\n            \"packages\": 1,\n            \"packagesDetail\": [\n                {\n                    \"ref\": \"20311\",\n                    \"dimension_unit\": 1,\n                    \"weight_unit\": 1,\n                    \"weight\": 1000,\n                    \"length\": 300,\n                    \"width\": 200,\n                    \"height\": 100,\n                    \"package_value\": 200,\n                    \"insurance_value\": 200,\n                    \"external_tracking_number\": \"123456789\",\n                    \"notes\": \"this is a package note\",\n                    \"items\": [\n                        {\n                            \"name\": \"Product 1\",\n                            \"quantity\": 1,\n                            \"unit_price\": 1.48,\n                            \"origin\": \"CA\",\n                            \"weight\": 1000,\n                            \"currency\": \"CAD\",\n                            \"unit\": \"PCS\",\n                            \"sku\": \"SKU001\",\n                            \"barcode\": \"1231231243\",\n                            \"hscode\": \"8009201332\",\n                            \"description\": \"Product 1 description Fields the business marked Mandatory under Settings → Add New Order (/setting) are required per order; an order missing one is returned with result=false and the field in message, like any other validation failure, and the rest of the batch still proceeds.\"\n                        }\n                    ]\n                }\n            ],\n            \"allow_dropoff\": 1,\n            \"pin_verification_required\": 1,\n            \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n            \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n            \"sender_name\": \"test\",\n            \"sender_address_1\": \"6701 RUE HADLEY\",\n            \"sender_address_2\": \"\",\n            \"sender_address_type\": 1,\n            \"sender_postcode\": \"H4E3R3\",\n            \"sender_city\": \"Montreal\",\n            \"sender_province\": \"QC\",\n            \"sender_country\": \"CA\",\n            \"sender_company_name\": \"Super Route\",\n            \"sender_email\": \"info@gmail.com\",\n            \"sender_telephone\": \"666666666\",\n            \"sender_buzz_code\": \"5151\",\n            \"pickup_instruction\": \"pickup instructions\",\n            \"delivery_instruction\": \"delivery instructions\",\n            \"note\": \"customer note\",\n            \"signature_option\": 1,\n            \"insurance_option\": 1,\n            \"insurance_value\": 200,\n            \"schedule_date\": \"2021-04-05 00:00:00\",\n            \"time_window_start\": \"2021-04-05 09:00:00\",\n            \"time_window_end\": \"2021-04-05 13:00:00.00\",\n            \"pickup_date\": \"2021-04-05 00:00:00.00\",\n            \"pickup_time_window_start\": \"2021-04-05 06:00:00\",\n            \"pickup_time_window_end\": \"2021-04-05 08:00:00\",\n            \"service_time\": 1,\n            \"pickup_service_time\": 1,\n            \"notification_language\": \"en\",\n            \"skills\": \"1,2,3\",\n            \"latitude\": 43.82124,\n            \"longitude\": -79.0171,\n            \"order_batch\": \"2021-08-23\",\n            \"auto_deduplication\": 1,\n            \"external_customer\": {\n                \"id\": \"11\",\n                \"name\": \"test\",\n                \"email\": \"external_customer@test.com\",\n                \"system_code\": \"es1\"\n            },\n            \"a_scan_at\": 1633073073,\n            \"sorting_code\": 708,\n            \"carriers\": [\n                \"usps\"\n            ],\n            \"services\": [\n                \"usps_priority_mail\",\n                \"usps_priority_mail_express\"\n            ],\n            \"paid_by\": 2,\n            \"account_number\": \"123456789\",\n            \"account_country\": \"US\",\n            \"account_postcode\": \"12001\",\n            \"package_type\": \"parcel\",\n            \"fulfillment_center_code\": \"WH001\"\n        },\n        {\n            \"type\": \"D\",\n            \"order_channel_code\": \"SMALL\",\n            \"self_pickup\": 0,\n            \"customer_id\": null,\n            \"customer_code\": null,\n            \"postcode\": \"H9S2H9\",\n            \"address_1\": \"2667 boul des sources\",\n            \"address_2\": \"123\",\n            \"combine_address\": \"true/false\",\n            \"buzz_code\": \"9393\",\n            \"ref\": \"c-4\",\n            \"order_code\": \"ABC\",\n            \"city\": \"pointe-claire\",\n            \"province\": \"QC\",\n            \"country\": \"Canada\",\n            \"name\": \"John\",\n            \"company_name\": \"Super Route\",\n            \"email\": \"join@gmail.com\",\n            \"telephone\": \"5555555555\",\n            \"need_pick_up\": 1,\n            \"packages\": 1,\n            \"packagesDetail\": [\n                {\n                    \"ref\": \"20312\",\n                    \"dimension_unit\": 1,\n                    \"weight_unit\": 1,\n                    \"weight\": 1000,\n                    \"length\": 300,\n                    \"width\": 200,\n                    \"height\": 100,\n                    \"package_value\": 200,\n                    \"insurance_value\": 200,\n                    \"external_tracking_number\": \"123456789\",\n                    \"notes\": \"this is a package note\",\n                    \"items\": [\n                        {\n                            \"name\": \"Product 1\",\n                            \"quantity\": 1,\n                            \"unit_price\": 1.48,\n                            \"origin\": \"CA\",\n                            \"weight\": 1000,\n                            \"currency\": \"CAD\",\n                            \"unit\": \"PCS\",\n                            \"sku\": \"SKU001\",\n                            \"barcode\": \"1231231243\",\n                            \"hscode\": \"8009201332\",\n                            \"description\": \"Product 1 description\"\n                        }\n                    ]\n                }\n            ],\n            \"allow_dropoff\": 1,\n            \"pin_verification_required\": 1,\n            \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n            \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n            \"sender_name\": \"test\",\n            \"sender_address_1\": \"6701 RUE HADLEY\",\n            \"sender_address_2\": \"\",\n            \"sender_address_type\": 1,\n            \"sender_postcode\": \"H4E3R3\",\n            \"sender_city\": \"Montreal\",\n            \"sender_province\": \"QC\",\n            \"sender_country\": \"CA\",\n            \"sender_company_name\": \"Super Route\",\n            \"sender_email\": \"info@gmail.com\",\n            \"sender_telephone\": \"666666666\",\n            \"sender_buzz_code\": \"5151\",\n            \"pickup_instruction\": \"pickup instructions\",\n            \"delivery_instruction\": \"delivery instructions\",\n            \"note\": \"customer note\",\n            \"signature_option\": 1,\n            \"insurance_option\": 1,\n            \"insurance_value\": 200,\n            \"schedule_date\": \"2021-04-05 00:00:00\",\n            \"time_window_start\": \"2021-04-05 09:00:00\",\n            \"time_window_end\": \"2021-04-05 13:00:00.00\",\n            \"pickup_date\": \"2021-04-05 00:00:00.00\",\n            \"pickup_time_window_start\": \"2021-04-05 06:00:00\",\n            \"pickup_time_window_end\": \"2021-04-05 08:00:00\",\n            \"service_time\": 1,\n            \"pickup_service_time\": 1,\n            \"notification_language\": \"en\",\n            \"skills\": \"1,2,3\",\n            \"latitude\": 43.82124,\n            \"longitude\": -79.0171,\n            \"order_batch\": \"2021-08-23\",\n            \"auto_deduplication\": 1,\n            \"external_customer\": {\n                \"id\": \"11\",\n                \"name\": \"test\",\n                \"email\": \"external_customer@test.com\",\n                \"system_code\": \"es1\"\n            },\n            \"a_scan_at\": 1633073073,\n            \"sorting_code\": 708,\n            \"carriers\": [\n                \"usps\"\n            ],\n            \"services\": [\n                \"usps_priority_mail\",\n                \"usps_priority_mail_express\"\n            ],\n            \"paid_by\": 2,\n            \"account_number\": \"123456789\",\n            \"account_country\": \"US\",\n            \"account_postcode\": \"12001\",\n            \"package_type\": \"parcel\",\n            \"fulfillment_center_code\": \"WH001\"\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get async result by id",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/async/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "async",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get async result by id"
                    },
                    "response": []
                },
                {
                    "name": "get order status list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/order-status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "order-status"
                            ]
                        },
                        "description": "get order status list"
                    },
                    "response": []
                },
                {
                    "name": "Build routes",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/build-route",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "build-route"
                            ]
                        },
                        "description": "Build routes"
                    },
                    "response": []
                },
                {
                    "name": "Build routes",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v2/client/build-route",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v2",
                                "client",
                                "build-route"
                            ]
                        },
                        "description": "Build routes"
                    },
                    "response": []
                },
                {
                    "name": "Get build route options",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/build-route/options",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "build-route",
                                "options"
                            ]
                        },
                        "description": "Returns available configuration options for building routes: routing engines with their balance modes, capacity types, related order types, order sources, and default values. Only the engines allowed for your business are listed: 1 = sRoute, 2 = sRoute 2, 3 = sRoute 2T (a separate engine, enabled per business; like sRoute 2 its balance modes are preset names, and it has its own presets). Each engine's `name` is a display label (`sRoute`, `sRoute 2`, `sRoute 2T`; earlier versions returned `SROUTE`, `SROUTE 2`, `SROUTE 2T`) — match engines on `id`, never on `name`; the ids, keys and types are unchanged."
                    },
                    "response": []
                },
                {
                    "name": "Build routes (V3)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/build-route",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "build-route"
                            ]
                        },
                        "description": "V3 client build route API with full /orders/build parameter support. Supports routing engine selection (sRoute/sRoute 2/sRoute 2T), unified balance mode, order source and related order type filtering, and structured driver objects with nested addresses and driver-default fallback.\n\nReading the outcome: a 201 with status \"processing\" only means the route was created and its planning was queued. Poll GET /api/v1/client/routes (GraphQL clientRoutes) with date set to route_date and includeFailed=1, and look for data[].id equal to the returned route_id. A row with status 3 (Success) has been planned; a row with status 4 (Failed) could not be planned, and plan_failure_code / plan_failure_reason say why (its orders are already back in the order pool). A row with status 1 (Requested) or 2 (Planning) is still being planned: status_label reads \"Processing\" in the language of the request, both failure fields are null, total is 0 and count is empty. No row at all means the id is not one of this account's routes on that date (or the route was cancelled). Example failed row: {\"id\": 123, \"name\": \"V3 Route\", \"date\": \"2026-09-14\", \"total\": 0, \"count\": {}, \"drivers\": [], \"status\": 4, \"status_label\": \"Failed\", \"plan_failure_code\": \"no_valid_coordinates\", \"plan_failure_reason\": \"None of the orders on this route has valid coordinates. The orders were returned to the order pool; fix their addresses and plan again.\"} Example processing row: {\"id\": 124, \"name\": \"V3 Route\", \"date\": \"2026-09-14\", \"total\": 0, \"count\": [], \"drivers\": [{\"id\": 688, \"alias\": \"VV\", \"name\": \"V\", \"vehicle_type\": 1}], \"status\": 1, \"status_label\": \"Processing\", \"plan_failure_code\": null, \"plan_failure_reason\": null} Planning rules the chosen engine cannot apply: the 201 body carries data.rule_notices, a list (empty when every planning rule applies) of {rule, engine (sroute | sroute2 | sroute2t), status (dropped | approximated), reason (engine_unsupported | engine_version), min_version and engine_version (both only with reason engine_version; engine_version is null when the engine version could not be read)}. A rule the engine does not support, or whose minimum version the engine does not report, is dropped; an approximated rule is planned as closely as the engine allows. Every other field of the response is unchanged. Phase P3: rule_notices may also name the facts release_time, delivery_alternatives, break_skip_policy and shifts, and reason balance_preset."
                    },
                    "response": []
                },
                {
                    "name": "Get internal tracking information by tracking number",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/tracking/:trackingNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "tracking",
                                ":trackingNumber"
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "The tracking number of the parcel"
                                }
                            ]
                        },
                        "description": "Retrieves detailed tracking information for a parcel including tracking events, sender/recipient addresses, and delivery status. Unlike the public tracking endpoint, every return reason on a failed stop is returned here, whether or not the business marked it visible to the public."
                    },
                    "response": []
                },
                {
                    "name": "get territory info list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/territory",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "territory"
                            ]
                        },
                        "description": "get territory info list"
                    },
                    "response": []
                },
                {
                    "name": "Get address by client",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/getaddressbypostcode",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "getaddressbypostcode"
                            ],
                            "query": [
                                {
                                    "key": "postcode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "area",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get address by client"
                    },
                    "response": []
                },
                {
                    "name": "Get routes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "Filter routes by specific date (format: YYYY-MM-DD). When provided, isToday/isUpcoming/isHistory are ignored."
                                },
                                {
                                    "key": "isToday",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "isUpcoming",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "isHistory",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "withGeometry",
                                    "value": "",
                                    "description": "Set to 1 to include the encoded route geometry for each driver in the drivers array. Default 0 (geometry omitted)."
                                },
                                {
                                    "key": "includeFailed",
                                    "value": "",
                                    "description": "Set to 1 to also list routes whose planning is still running (status 1 Requested or 2 Planning, status_label \"Processing\" in the language of the request) and routes whose planning failed (status 4), and to add status, status_label, plan_failure_code and plan_failure_reason to every row (3 Success keeps the label \"Success\", 4 keeps \"Failed\"). Both failure fields are null unless status is 4; the reason is in the language of the request. A processing row has no plan yet: total 0, count empty, drivers the vehicles assigned to the build. The name is kept for compatibility. Default 0: planned routes only, rows exactly as before."
                                }
                            ]
                        },
                        "description": "The list a V3 build-route caller polls for the outcome of a queued planning run: pass includeFailed=1 to see a route still being planned (status 1 or 2, Processing) and a route that failed to plan, with the reason. Example failed row: {\"id\": 123, \"name\": \"V3 Route\", \"date\": \"2026-09-14\", \"total\": 0, \"count\": {}, \"drivers\": [], \"status\": 4, \"status_label\": \"Failed\", \"plan_failure_code\": \"no_valid_coordinates\", \"plan_failure_reason\": \"None of the orders on this route has valid coordinates. The orders were returned to the order pool; fix their addresses and plan again.\"} Example processing row: {\"id\": 124, \"name\": \"V3 Route\", \"date\": \"2026-09-14\", \"total\": 0, \"count\": [], \"drivers\": [{\"id\": 688, \"alias\": \"VV\", \"name\": \"V\", \"vehicle_type\": 1}], \"status\": 1, \"status_label\": \"Processing\", \"plan_failure_code\": null, \"plan_failure_reason\": null}"
                    },
                    "response": []
                },
                {
                    "name": "Get all orders from successfully planned routes on a specific date",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/orders-by-date",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "orders-by-date"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "The route date (YYYY-MM-DD). Only routes with status 'Success' are included."
                                },
                                {
                                    "key": "driverId",
                                    "value": "",
                                    "description": "Filter orders by driver ID"
                                }
                            ]
                        },
                        "description": "Get all orders from successfully planned routes on a specific date"
                    },
                    "response": []
                },
                {
                    "name": "Get orders on route for one driver or all",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/:routeId/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                ":routeId",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "driverId",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get orders on route for one driver or all"
                    },
                    "response": []
                },
                {
                    "name": "Replace a driver from an existing route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/replace-driver",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "replace-driver"
                            ]
                        },
                        "description": "Replace a driver from an existing route"
                    },
                    "response": []
                },
                {
                    "name": "add order(s) to route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/add-order",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "add-order"
                            ]
                        },
                        "description": "A recurring pickup route only takes what its switches allow: an ad-hoc pickup while allow_adhoc_pickups is 0, or a delivery while allow_deliveries is 0, is refused with 422 and error_code recurring_pickups.adhoc_pickups_off or recurring_pickups.deliveries_off (the translated reason is in message / errors.order_ids)."
                    },
                    "response": []
                },
                {
                    "name": "move order(s) between route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/move-order",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "move-order"
                            ]
                        },
                        "description": "A recurring pickup route only takes what its switches allow: an ad-hoc pickup while allow_adhoc_pickups is 0, or a delivery while allow_deliveries is 0, is refused with 422 and error_code recurring_pickups.adhoc_pickups_off or recurring_pickups.deliveries_off (the translated reason is in message / errors.order_ids)."
                    },
                    "response": []
                },
                {
                    "name": "Remove order(s) from route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/remove-order",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "remove-order"
                            ]
                        },
                        "description": "Remove order(s) from route"
                    },
                    "response": []
                },
                {
                    "name": "optimize route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/optimize",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "optimize"
                            ]
                        },
                        "description": "optimize route"
                    },
                    "response": []
                },
                {
                    "name": "cancel route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/routes/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "routes",
                                "cancel"
                            ]
                        },
                        "description": "cancel route"
                    },
                    "response": []
                },
                {
                    "name": "Hand a scanned parcel over to its third-party carrier",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/orders/third-party-handover",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "orders",
                                "third-party-handover"
                            ]
                        },
                        "description": "One scan takes the parcel out of our warehouse and hands it to the third-party carrier that owns the order. The order must be a live third-party order: an order with no assignment, or one whose assignment was cancelled, rejected or withdrawn to self delivery, is refused. The booking is pushed to the carrier when it has never been pushed, and an already-pushed booking is left alone (a second push would book a second shipment). The scan writes one \"handed over to <provider>\" operation event and one customer-facing in-transit tracking event (status 430) carrying the provider's processing centre as its destination, or no destination when that setting is empty. Scanning a parcel number hands over that parcel; scanning the order ref hands over the whole assignment. Re-scanning an already handed-over parcel reports the current state without recording anything twice.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": \"SR000000001\",\n    \"note\": \"Loaded on the carrier truck at gate 3\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Receive package by given orderId/ref/tracking/externalTracking",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/orders/receive-package",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "orders",
                                "receive-package"
                            ],
                            "query": [
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "orderId/ref/tracking/externalTracking"
                                },
                                {
                                    "key": "third_party_action",
                                    "value": "",
                                    "description": "Optional. Only meaningful when the order is still held by a third-party carrier. 'continue_handover' (default when omitted) keeps the carrier and parks the order at Waiting Third Party Handover; 'withdraw_self' cancels the carrier order first and then receives the package back into self-delivery."
                                }
                            ]
                        },
                        "description": "Receive package by given orderId/ref/tracking/externalTracking"
                    },
                    "response": []
                },
                {
                    "name": "Receive package by given batch string",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/orders/batch-receive-package",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "orders",
                                "batch-receive-package"
                            ],
                            "query": [
                                {
                                    "key": "order_batch",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Receive package by given batch string"
                    },
                    "response": []
                },
                {
                    "name": "List exclusion zone sets",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/exclusion-zone-sets",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "exclusion-zone-sets"
                            ]
                        },
                        "description": "Sets the caller can use when building routes, with their zones and the circumference of the zones in use. Business staff manage every set of the business. Contractors (brokers) can read and use the business's sets and manage only the sets they created; editing a business set returns 403. Requires Exclusion Zones to be enabled for the account by the platform administrator; while it is off every exclusion zone set operation answers 403 with error_code exclusion_zones_not_enabled."
                    },
                    "response": []
                },
                {
                    "name": "Create an exclusion zone set",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/exclusion-zone-sets",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "exclusion-zone-sets"
                            ]
                        },
                        "description": "Creates a set with its zones. A contractor's new set belongs to that contractor. Business staff manage every set of the business. Contractors (brokers) can read and use the business's sets and manage only the sets they created; editing a business set returns 403. Requires Exclusion Zones to be enabled for the account by the platform administrator; while it is off every exclusion zone set operation answers 403 with error_code exclusion_zones_not_enabled."
                    },
                    "response": []
                },
                {
                    "name": "Get an exclusion zone set",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/exclusion-zone-sets/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "exclusion-zone-sets",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get an exclusion zone set"
                    },
                    "response": []
                },
                {
                    "name": "Update an exclusion zone set",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/exclusion-zone-sets/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "exclusion-zone-sets",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Omitted fields keep their values. When zones is sent it replaces the whole list: zones without an id are added, listed ids are kept and updated, and unlisted zones are removed. Routes already built keep the zones they were planned with. Business staff manage every set of the business. Contractors (brokers) can read and use the business's sets and manage only the sets they created; editing a business set returns 403. Requires Exclusion Zones to be enabled for the account by the platform administrator; while it is off every exclusion zone set operation answers 403 with error_code exclusion_zones_not_enabled."
                    },
                    "response": []
                },
                {
                    "name": "Delete an exclusion zone set",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/client/exclusion-zone-sets/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "client",
                                "exclusion-zone-sets",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Routes already built keep the zones they were planned with. Business staff manage every set of the business. Contractors (brokers) can read and use the business's sets and manage only the sets they created; editing a business set returns 403. Requires Exclusion Zones to be enabled for the account by the platform administrator; while it is off every exclusion zone set operation answers 403 with error_code exclusion_zones_not_enabled."
                    },
                    "response": []
                },
                {
                    "name": "List recurring pickup schedules",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Only schedules in this status: active, paused or ended"
                                }
                            ]
                        },
                        "description": "Every recurring pickup schedule of the account with its skips and extras and its next due date. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) see only the templates they run (their contractor pool, or a driver of theirs) and the schedules and runs riding with them. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Create a recurring pickup schedule",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules"
                            ]
                        },
                        "description": "A customer collected at one location on a recurrence; the address is geocoded when lat/lng are left empty. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Get a recurring pickup schedule",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                }
                            ]
                        },
                        "description": "One schedule with its skips and extras. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) see only the templates they run (their contractor pool, or a driver of theirs) and the schedules and runs riding with them. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Update a recurring pickup schedule",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                }
                            ]
                        },
                        "description": "Fields left out keep their value. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Delete a recurring pickup schedule",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                }
                            ]
                        },
                        "description": "Orders already generated are kept; the schedule leaves every template. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Skip a date or add an extra date",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id/exceptions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id",
                                "exceptions"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                }
                            ]
                        },
                        "description": "A skip removes the due pickup on that date; an extra adds one on a date the recurrence does not cover, optionally with its own window. One exception per schedule and date, a new one replaces the old. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Remove a skip or extra date",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id/exceptions/:exceptionId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id",
                                "exceptions",
                                ":exceptionId"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                },
                                {
                                    "key": "exceptionId",
                                    "value": "",
                                    "description": "Exception id"
                                }
                            ]
                        },
                        "description": "The recurrence applies again on that date. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "List recurring pickup route templates",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates"
                            ]
                        },
                        "description": "Every template of the account with its members in template order. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) see only the templates they run (their contractor pool, or a driver of theirs) and the schedules and runs riding with them. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Create a recurring pickup route template",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates"
                            ]
                        },
                        "description": "A fixed route made of schedules. A schedule may ride with only one template per weekday; a member's weekdays (ISO 1..7, null = every day it is due) restrict when it rides with this one. sequence_mode: fixed (the members in table order), time_window (ordered by the customers' windows), optimise (the engine decides) or mixed (members with a sequence keep it, the others are placed by their window or by the engine). Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Get a recurring pickup route template",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Template id"
                                }
                            ]
                        },
                        "description": "One template with its members. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) see only the templates they run (their contractor pool, or a driver of theirs) and the schedules and runs riding with them. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Update a recurring pickup route template",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Template id"
                                }
                            ]
                        },
                        "description": "Fields left out keep their value; members, when sent, replace the member list. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Delete a recurring pickup route template",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Template id"
                                }
                            ]
                        },
                        "description": "Routes already generated are kept. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Replace the members of a template",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates/:id/members",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates",
                                ":id",
                                "members"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Template id"
                                }
                            ]
                        },
                        "description": "The whole member list, in sequence order. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Preview the day of a recurring pickup template",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates/:id/day/:date",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates",
                                ":id",
                                "day",
                                ":date"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Template id"
                                },
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "The service date (Y-m-d)"
                                }
                            ]
                        },
                        "description": "What the daily board shows for one template and date, before and after generation: every member in the day's order with its state (due, skipped, extra, on the route, picked up), the vehicle the route gets that day and where it comes from (template, weekday override, date override), the two switches, and once generated the route and the stops whose planned arrival is outside the customer window. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) reach the days of the templates they run (their contractor pool, or a driver of theirs) and may crew a day with their own drivers and pool only. Before the module's migrations have run the answer is 409 with error_code schema_not_ready. changes lists the audited changes of the day (source customer, dispatcher or api), newest first."
                    },
                    "response": []
                },
                {
                    "name": "Adjust the day of a recurring pickup template",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/templates/:id/day/:date",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "templates",
                                ":id",
                                "day",
                                ":date"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Template id"
                                },
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "The service date (Y-m-d)"
                                }
                            ]
                        },
                        "description": "A generated day stays changeable until it is completed (design §5). Before generation the adjustment is recorded as a per-date override and applied when the route is generated; after generation it is applied to the route and its orders as well, and recorded so a regenerate reproduces it. Stops already picked up are never touched: they are left alone and named in kept. The body is the adjustment's result plus success; a refusal (a started stop, a day that cannot change) answers 409. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) reach the days of the templates they run (their contractor pool, or a driver of theirs) and may crew a day with their own drivers and pool only. Before the module's migrations have run the answer is 409 with error_code schema_not_ready.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"action\": \"skip\",\n    \"pickup_schedule_id\": 31,\n    \"note\": \"Customer closed\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List recurring pickup runs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/runs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "runs"
                            ],
                            "query": [
                                {
                                    "key": "service_date",
                                    "value": "",
                                    "description": "Only runs for this date (Y-m-d)"
                                },
                                {
                                    "key": "template_id",
                                    "value": "",
                                    "description": "Only runs of this template"
                                }
                            ]
                        },
                        "description": "One run per template and service date: generated (with the route), empty (nothing was due) or failed (with the error). Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) see only the templates they run (their contractor pool, or a driver of theirs) and the schedules and runs riding with them. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Generate the recurring pickup routes of a date",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/generate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "generate"
                            ]
                        },
                        "description": "The same idempotent flow the scheduler runs: due pickups get their order once, each template its route once. dry_run reports what would be generated and writes nothing; regenerate cancels a template's route when no stop has started and builds it again. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403): creating, editing, deleting and generating stay the business's. Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "List recurring pickup suggestions from pickup history",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/suggestions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "suggestions"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "First date analysed; default 8 weeks before to"
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "Last date analysed; default yesterday"
                                },
                                {
                                    "key": "include_dismissed",
                                    "value": "",
                                    "description": "Also list dismissed schedule suggestions, flagged dismissed"
                                }
                            ]
                        },
                        "description": "Schedules and templates proposed from the business's completed pickups (type P, and the pickup leg of deliveries at their sender address) of a period: at most 26 weeks, 8 weeks up to yesterday by default, read one week at a time with a cap per page and in total (truncated tells when the cap was reached). A location visited on a recognisable rhythm (weekdays, every N days, days of the month) becomes a proposed schedule with its evidence and a confidence (0-1); schedules usually served by one driver become a proposed template in their usual stop order. Locations an active schedule already covers, orders generated by the module, and dismissed suggestions are left out. Nothing is created until a suggestion is accepted. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403). Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Accept a recurring pickup suggestion",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/suggestions/accept",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "suggestions",
                                "accept"
                            ]
                        },
                        "description": "Creates what the suggestion proposes, with the client's edits, through the ordinary schedule and template validation: kind schedule creates the schedule; kind template creates its schedules and the template with them as members in the proposed order, in one transaction. The suggestion is recomputed for the given period; one no longer proposed answers 404 with error_code suggestion_not_found. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403). Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Dismiss a recurring pickup suggestion",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/suggestions/dismiss",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "suggestions",
                                "dismiss"
                            ]
                        },
                        "description": "Remembers the suggestion by its fingerprint so it is not proposed again (include_dismissed lists it again, flagged). Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403). Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Get the customer self-service of a recurring pickup schedule",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id/self-service",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id",
                                "self-service"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                }
                            ]
                        },
                        "description": "What the customer of a schedule may change themselves (customer self-service): the rights resolved from the template's defaults and the schedule's overrides, the cut-off, the current signed self-service link (valid 30 days; null while the customer may do nothing) and the upcoming dates with the actions still open on each. The rights are edited with the schedule and template create / update operations. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403). Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                },
                {
                    "name": "Rotate the customer self-service link of a recurring pickup schedule",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/client/recurring-pickups/schedules/:id/self-service/rotate-link",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "client",
                                "recurring-pickups",
                                "schedules",
                                ":id",
                                "self-service",
                                "rotate-link"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Schedule id"
                                }
                            ]
                        },
                        "description": "A new self-service token: every link handed out before (in reminders, on tracking pages) stops working. The answer is the self-service view with the new link. Requires Recurring Pickups to be enabled for the account by the platform administrator; while it is off every recurring pickup operation answers 403 with error_code recurring_pickups_not_enabled. Contractors (brokers) are refused (403). Before the module's migrations have run the answer is 409 with error_code schema_not_ready."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Consolidation",
            "item": [
                {
                    "name": "Inbound tracking webhook for consolidation parcels",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/consolidation/inbound-tracking/webhook",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "consolidation",
                                "inbound-tracking",
                                "webhook"
                            ]
                        },
                        "description": "A tracking provider pushes scan events for parcels a consolidation warehouse is expecting (declared with an inbound tracking number). No user authentication: the push is verified with `X-Consolidation-Signature`, the hex HMAC-SHA256 of the raw request body under the provider's shared secret configured on the platform. The provider is named by `X-Consolidation-Provider`, or by the body field `provider` for senders that cannot set headers; with neither, `seventeen_track` is assumed. Unknown providers are refused, a provider without a webhook (`manual`) is refused, and an unconfigured secret refuses every push without writing anything. Events are applied to every open tracker under that provider with that tracking number (numbers are released on stock-out, so closed trackers never match). Application is idempotent: each event is keyed by a checksum of its content, so a retried push records nothing twice and the response reports the duplicates. Accepted bodies: the normalized envelope shown here, or 17TRACK's native push (`{\"event\": \"TRACKING_UPDATED\", \"data\": {\"number\": ..., \"track_info\": ...}}`). Event statuses are normalized to: pending, in_transit, out_for_delivery, exception, carrier_delivered, stopped.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"tracking_number\": \"1Z999AA10123456784\",\n    \"carrier\": \"ups\",\n    \"status\": \"in_transit\",\n    \"events\": [\n        {\n            \"status\": \"in_transit\",\n            \"occurred_at\": \"2026-09-01T10:15:00Z\",\n            \"location\": \"Toronto, ON\",\n            \"description\": \"Departed from facility\"\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Coverages",
            "item": [
                {
                    "name": "get coverage postcodes",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/coverages",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "coverages"
                            ]
                        },
                        "description": "get coverage postcodes",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_ids\": [\n        1,\n        2,\n        3\n    ],\n    \"warehouse_codes\": [\n        \"MONTREAL\",\n        \"TORONTO\"\n    ],\n    \"include_transit\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "check postcodes in coverages or not",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/coverages/checkpostcodes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "coverages",
                                "checkpostcodes"
                            ]
                        },
                        "description": "check postcodes in coverages or not",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"postcodes\": [\n        \"H4E3R3\",\n        \"L3R3L1\"\n    ],\n    \"warehouse_ids\": [\n        1,\n        2,\n        3\n    ],\n    \"warehouse_codes\": [\n        \"MONTREAL\",\n        \"TORONTO\"\n    ],\n    \"include_transit\": true,\n    \"include_3rd_party_label\": false\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Custom Maps",
            "item": [
                {
                    "name": "List map layers (public/embed)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/public/:code/layers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                "public",
                                ":code",
                                "layers"
                            ],
                            "query": [
                                {
                                    "key": "embed_token",
                                    "value": "",
                                    "description": "Required when map config.embed_token is set. Also accepted as X-Map-Embed-Token header."
                                },
                                {
                                    "key": "types",
                                    "value": "",
                                    "description": "Comma-separated layer types filter"
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": "Public map code"
                                }
                            ]
                        },
                        "description": "Returns Layer Envelopes for a public Custom Map. If the map has config.embed_token, pass embed_token."
                    },
                    "response": []
                },
                {
                    "name": "List map layers with bounds (public/embed)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/public/:code/layers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                "public",
                                ":code",
                                "layers"
                            ],
                            "query": [
                                {
                                    "key": "embed_token",
                                    "value": "",
                                    "description": "Required when map config.embed_token is set. Also accepted as X-Map-Embed-Token header."
                                }
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": "Public map code"
                                }
                            ]
                        },
                        "description": "List map layers with bounds (public/embed)"
                    },
                    "response": []
                },
                {
                    "name": "Get single map layer (public/embed)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/public/:code/layers/:type/:key",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                "public",
                                ":code",
                                "layers",
                                ":type",
                                ":key"
                            ],
                            "query": [
                                {
                                    "key": "embed_token",
                                    "value": "",
                                    "description": "Required when map config.embed_token is set. Also accepted as X-Map-Embed-Token header."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": "Public map code"
                                },
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "key",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get single map layer (public/embed)"
                    },
                    "response": []
                },
                {
                    "name": "Nearest locations on a public map",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/public/:code/nearest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                "public",
                                ":code",
                                "nearest"
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": "Public map code"
                                }
                            ]
                        },
                        "description": "Nearest locations on a public map"
                    },
                    "response": []
                },
                {
                    "name": "List map layers (authenticated business)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/:code/layers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                ":code",
                                "layers"
                            ],
                            "query": [
                                {
                                    "key": "types",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List map layers (authenticated business)"
                    },
                    "response": []
                },
                {
                    "name": "Get single map layer (authenticated)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/:code/layers/:type/:key",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                ":code",
                                "layers",
                                ":type",
                                ":key"
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "key",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get single map layer (authenticated)"
                    },
                    "response": []
                },
                {
                    "name": "Nearest search (authenticated)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/maps/:code/nearest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "maps",
                                ":code",
                                "nearest"
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Nearest search (authenticated)"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Customer",
            "item": [
                {
                    "name": "Get the configuration bundle needed to render the customer 'create storage order' form",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/storage-orders/config",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "storage-orders",
                                "config"
                            ]
                        },
                        "description": "Returns everything the client needs to render the customer-side create storage order form: the customer's accessible warehouses, the business's packaging catalog, supplies products, pickup timeframes, unit definitions, surcharges, and dynamic form bindings. Requires an authenticated customer account."
                    },
                    "response": []
                },
                {
                    "name": "Get the configuration bundle needed to render the customer 'create moving order' form",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/moving-orders/config",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "moving-orders",
                                "config"
                            ]
                        },
                        "description": "Returns the moving service packages (pricing plans) the customer picks from, plus the shared packaging catalog, supplies products, moving-date timeframes, unit definitions, surcharges, and dynamic form bindings. Moving orders do not use warehouses — the customer provides origin/destination addresses directly. Requires an authenticated customer account."
                    },
                    "response": []
                },
                {
                    "name": "List shipping services available to the authenticated customer",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipping-orders/services",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipping-orders",
                                "services"
                            ]
                        },
                        "description": "Returns a lightweight list of shipping services the customer is authorized to use, derived from the customer_shipping_service assignment table. Used as step 1 of the two-step create-order flow; once the customer picks a service, fetch /v1/customer/shipping-orders/services/{serviceCode}/config for the full details. Customers with no explicit service assignment see an empty list."
                    },
                    "response": []
                },
                {
                    "name": "Get the per-service configuration bundle needed to render the 'create shipping order' form",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipping-orders/services/:serviceCode/config",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipping-orders",
                                "services",
                                ":serviceCode",
                                "config"
                            ],
                            "variable": [
                                {
                                    "key": "serviceCode",
                                    "value": "",
                                    "description": "The shipping service service_code (unique per business)"
                                }
                            ]
                        },
                        "description": "Returns the full config for one shipping service: that service's warehouses (with full address fields), surcharges (drawn from the service's surcharge groups), plus the shared packaging catalog, supplies products (only when allow_purchase_supplies), unit definitions, and dynamic form bindings. Call this after the user picks a service from /v1/customer/shipping-orders/services. Returns 403 if the customer is not authorized for the given service, 404 if it does not exist."
                    },
                    "response": []
                },
                {
                    "name": "List the authenticated customer's storage orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/storage-orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "storage-orders"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "store_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "store_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "created_at_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "created_at_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "quick_search",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "package_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "sort_by",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Paginated list; mirrors admin StorageOrderController::index filter/sort semantics via StorageOrderService::getStorageOrders, scoped to the authenticated customer."
                    },
                    "response": []
                },
                {
                    "name": "Get the detail of one storage order owned by the authenticated customer",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/storage-orders/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "storage-orders",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get the detail of one storage order owned by the authenticated customer"
                    },
                    "response": []
                },
                {
                    "name": "List the authenticated customer's moving orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/moving-orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "moving-orders"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "moving_date_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "moving_date_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "created_at_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "created_at_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "sort_by",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Paginated list; mirrors admin MovingOrderController::index filter/sort semantics via MovingOrderService::getMovingOrders, scoped to the authenticated customer."
                    },
                    "response": []
                },
                {
                    "name": "Get the detail of one moving order owned by the authenticated customer",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/moving-orders/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "moving-orders",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get the detail of one moving order owned by the authenticated customer"
                    },
                    "response": []
                },
                {
                    "name": "List the authenticated customer's shipping orders under one service",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipping-orders/services/:serviceCode/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipping-orders",
                                "services",
                                ":serviceCode",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Matches order id, tracking_number or reference_number"
                                },
                                {
                                    "key": "created_at_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "created_at_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "sort_by",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "serviceCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Paginated list scoped to the customer + service. 403 if the customer is not authorized for the service; 404 if the service does not exist."
                    },
                    "response": []
                },
                {
                    "name": "Get the detail of one shipping order owned by the authenticated customer",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipping-orders/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipping-orders",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The order id alone identifies the service; the customer's service access is enforced via the customer_shipping_service assignment (returns 403 if the order's service is not granted to this customer)."
                    },
                    "response": []
                },
                {
                    "name": "List storage packages eligible for shipout",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/available-items",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                "available-items"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns storage packages that are received, not yet stocked out, and not locked by an active shipout request. Grouped by StorageOrder. Optional warehouse_id filter narrows the result to one source warehouse. Partner accounts (groups_id=7) receive 403. Requires the customer shipout_service setting to be enabled; otherwise returns 403."
                    },
                    "response": []
                },
                {
                    "name": "List shipping services available from a given warehouse",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/services",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                "services"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Filters ShippingService records to those whose shipping_service_warehouse pivot includes the given warehouse_id. Further filtered by the customer's customer_shipping_service assignment. pricing_method=0 means manual pricing (request will go to staff queue), pricing_method=1 means price plan (auto-priced). Requires the customer shipout_service setting to be enabled; otherwise returns 403."
                    },
                    "response": []
                },
                {
                    "name": "Estimate the price of a shipout request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/services/:serviceCode/estimate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                "services",
                                ":serviceCode",
                                "estimate"
                            ],
                            "variable": [
                                {
                                    "key": "serviceCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns either a price breakdown (PRICING_PRICE_PLAN services) or {has_items_needing_quote: true} when the service uses manual pricing. Customer should still proceed to /orders even when manual — the request will land in the staff pricing queue. Requires the customer shipout_service setting to be enabled; otherwise returns 403.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_id\": 7,\n    \"delivery_postcode\": \"M5V2H1\",\n    \"delivery_country\": \"CA\",\n    \"packages\": [\n        {\n            \"weight\": 2.5,\n            \"length\": 30,\n            \"width\": 20,\n            \"height\": 15,\n            \"weight_unit\": 2,\n            \"dimension_unit\": 2\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get shipout detail",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the full detail of one shipout owned by the authenticated customer, including paid_amount, remaining_balance, has_items_needing_quote, can_be_paid, can_be_cancelled, and the linked storage_packages + shipping_packages arrays. Requires the customer shipout_service setting to be enabled; otherwise returns 403."
                    },
                    "response": []
                },
                {
                    "name": "Pay a shipout from wallet balance",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/:id/pay",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                ":id",
                                "pay"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Customer pays a (priced) shipout from their wallet. Body may include `amount` to pay partially; default is the full remaining balance. Status auto-bumps to CONFIRMED when remaining_balance reaches zero. Requires the customer shipout_service setting to be enabled; otherwise returns 403.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"amount\": 45.3\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Cancel a shipout (releases the StoragePackage lock)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/:id/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                ":id",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Customer cancels — only allowed in PENDING/CONFIRMED. The linked StoragePackages immediately become available for another shipout request. Refund is NOT issued automatically — staff handles refunds manually. Requires the customer shipout_service setting to be enabled; otherwise returns 403.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reason\": \"Changed shipping plans\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create a shipout request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/shipout-orders/services/:serviceCode/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "shipout-orders",
                                "services",
                                ":serviceCode",
                                "orders"
                            ],
                            "variable": [
                                {
                                    "key": "serviceCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates a ShippingOrder with is_storage_shipout=true and locks the chosen StoragePackages via the shipping_order_storage_packages pivot. All selected packages must belong to the requesting customer and live at the same warehouse. Auto-priced services compute total_price immediately; manual-priced services land in the staff pricing queue with has_items_needing_quote=true. Requires the customer shipout_service setting to be enabled; otherwise returns 403. Optional consolidation mode: pass is_consolidation=true (requires the customer consolidation_service setting instead of shipout_service) to create a consolidation shipout — no outbound cartons are created up front (warehouse staff pack N stored parcels into M cartons later and the price is re-quoted from measured cartons; the initial quote carries price_breakdown.is_estimate=true), and fulfillment_channel picks how the shipment leaves the warehouse: label_service (default), own_delivery, or tpd.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_id\": 7,\n    \"storage_package_ids\": [\n        5001,\n        5002,\n        5003\n    ],\n    \"delivery_name\": \"Jane Doe\",\n    \"delivery_telephone\": \"+14165551234\",\n    \"delivery_email\": \"jane@example.com\",\n    \"delivery_address_1\": \"123 King St W\",\n    \"delivery_city\": \"Toronto\",\n    \"delivery_province\": \"ON\",\n    \"delivery_country\": \"CA\",\n    \"delivery_postcode\": \"M5V2H1\",\n    \"package\": [\n        {\n            \"description\": \"Repacked box 1\",\n            \"quantity\": 1,\n            \"weight\": 5.5,\n            \"weight_unit\": 2,\n            \"length\": 40,\n            \"width\": 30,\n            \"height\": 25,\n            \"dimension_unit\": 2,\n            \"value\": 200\n        }\n    ],\n    \"scheduled_date\": \"2026-05-01\",\n    \"note\": \"Please handle with care\",\n    \"is_consolidation\": false,\n    \"fulfillment_channel\": \"label_service\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Customer self-registration",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/register",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "register"
                            ]
                        },
                        "description": "Creates a customer account under a business. No authentication: this is the public sign-up door for apps and integrations. The business must be an enabled client and must have Customer Self Registration turned on; otherwise the request is refused and nothing is written. The tracking number prefix is resolved from the business's own settings. Whether the new account can be used right away is then `api_customer_self_registration_review` (separate from the registration page's `customer_self_registration_review`): when that switch is on, the account is created disabled and queued for review, and `pending_review` in the response is true. Rate limited: at most 10 attempts per IP per minute."
                    },
                    "response": []
                },
                {
                    "name": "WeChat customer registration (step 2)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/wechat-register",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "wechat-register"
                            ]
                        },
                        "description": "Second step of WeChat mini-program sign-up: creates the account and binds the WeChat openid carried by `openid_token`. The openid is never accepted in the clear. The business must be an enabled client and must have Customer Self Registration turned on; otherwise the request is refused and nothing is written. An account that is active right away is signed in and gets an access token in the same response. Whether the new account can be used right away is then `api_customer_self_registration_review` (separate from the registration page's `customer_self_registration_review`): when that switch is on, the account is created disabled and queued for review, and `pending_review` in the response is true. Rate limited: at most 10 attempts per IP per minute."
                    },
                    "response": []
                },
                {
                    "name": "WeChat customer sign-in (step 1)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/wechat-login",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "wechat-login"
                            ]
                        },
                        "description": "Trades a WeChat mini-program `code` (from uni.login()) for a session, using the per-business mini-program credentials. A linked and active account is signed in and receives an access token. An openid nobody has claimed yet comes back as `need_register` with an encrypted `openid_token` to carry into POST /v1/customer/wechat-register — the raw openid is never returned. A business with no mini-program credentials configured is refused with 503 before any call to WeChat."
                    },
                    "response": []
                },
                {
                    "name": "Request a customer password reset code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/forgot-password",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "forgot-password"
                            ]
                        },
                        "description": "Emails the customer a 6-digit code, valid for 10 minutes. The response is identical whether or not the address belongs to an account, so this cannot be used to discover who has one. One code per address per 60 seconds."
                    },
                    "response": []
                },
                {
                    "name": "Set a new customer password with the reset code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/customer/reset-password",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "customer",
                                "reset-password"
                            ]
                        },
                        "description": "Verifies the 6-digit code from POST /v1/customer/forgot-password and sets the new password. The code is single use and is discarded on success."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Dataset",
            "item": [
                {
                    "name": "List all datasets",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets"
                            ],
                            "query": [
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Search by name or description"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page (max 100)"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number"
                                }
                            ]
                        },
                        "description": "Get a paginated list of all datasets for the authenticated business"
                    },
                    "response": []
                },
                {
                    "name": "Create a new dataset",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets"
                            ]
                        },
                        "description": "Create a new dataset with column definitions"
                    },
                    "response": []
                },
                {
                    "name": "Get a dataset",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get a single dataset with its columns and groups"
                    },
                    "response": []
                },
                {
                    "name": "Update a dataset",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update dataset name, description, or status"
                    },
                    "response": []
                },
                {
                    "name": "Delete a dataset",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a dataset and all its groups and records"
                    },
                    "response": []
                },
                {
                    "name": "Search records",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:id/search",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":id",
                                "search"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Search records across all groups in a dataset with advanced filtering"
                    },
                    "response": []
                },
                {
                    "name": "List groups",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get all groups for a dataset"
                    },
                    "response": []
                },
                {
                    "name": "Create a group",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Create a new group with optional records"
                    },
                    "response": []
                },
                {
                    "name": "Get a group",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get group details with geocoding statistics"
                    },
                    "response": []
                },
                {
                    "name": "Update a group",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update group name"
                    },
                    "response": []
                },
                {
                    "name": "Delete a group",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a group and all its records"
                    },
                    "response": []
                },
                {
                    "name": "Re-geocode group",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/regeocode",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "regeocode"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Trigger re-geocoding for records in a group"
                    },
                    "response": []
                },
                {
                    "name": "List records",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "geocode_status",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get paginated records for a group with optional filtering"
                    },
                    "response": []
                },
                {
                    "name": "Create a record",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Create a single record and geocode if address columns are configured"
                    },
                    "response": []
                },
                {
                    "name": "Get a record",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records/:recordId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records",
                                ":recordId"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "recordId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get a single record by ID"
                    },
                    "response": []
                },
                {
                    "name": "Update a record",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records/:recordId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records",
                                ":recordId"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "recordId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update record data. Re-geocodes if address changed."
                    },
                    "response": []
                },
                {
                    "name": "Delete a record",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records/:recordId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records",
                                ":recordId"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "recordId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a single record"
                    },
                    "response": []
                },
                {
                    "name": "Bulk create records",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records/bulk",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records",
                                "bulk"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Create multiple records at once (max 1000)"
                    },
                    "response": []
                },
                {
                    "name": "Bulk delete records",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records/bulk",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records",
                                "bulk"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete multiple records by IDs"
                    },
                    "response": []
                },
                {
                    "name": "Re-geocode a record",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/datasets/:datasetId/groups/:groupId/records/:recordId/regeocode",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "datasets",
                                ":datasetId",
                                "groups",
                                ":groupId",
                                "records",
                                ":recordId",
                                "regeocode"
                            ],
                            "variable": [
                                {
                                    "key": "datasetId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "groupId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "recordId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Re-geocode a single record"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Device Operations",
            "item": [
                {
                    "name": "Device usage telemetry ingest (EMQX forwarder / device agent)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-telemetry/ingest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-telemetry",
                                "ingest"
                            ]
                        },
                        "description": "Receives a batch of device usage telemetry from a smart locker, Smart Drop or kiosk: which module of the screen was entered, how long a visit lasted, and how it ended. EMQX rules forward what devices publish to `sr/telemetry/{business}/{device_type}/{device_key}` here, and a device agent posts here directly when MQTT is unreachable. Nothing is written to the database on this path: the batch is folded into Redis counters and drained into the usage tables by `device-usage:collect`. Devices upload on a long interval (20 minutes by default, jittered) rather than per interaction — see docs/device-usage-telemetry-design.md. Event types: `session_start`, `module_enter`, `module_exit`, `action`, `error`, `session_end`. A session is counted when it ends, so one spanning two uploads is counted once. Timestamps outside the configured clock skew fall back to arrival time, batches are de-duplicated by `batch_id`, mock devices and unknown device keys are accepted and discarded. Authenticated by the platform-level X-Device-Telemetry-Token header.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"device_type\": \"smart_locker\",\n    \"device_key\": \"GYB0BF020260\",\n    \"batch_id\": \"01J8Z5N2C7QK9V3M4T6R8W0XYZ\",\n    \"sent_at\": \"2026-08-29T14:20:11Z\",\n    \"agent\": \"supercabinet/1.4.2\",\n    \"events\": [\n        {\n            \"id\": \"01J8Z5N2C7QK9V3M4T6R8W0AA1\",\n            \"ts\": \"2026-08-29T14:03:52Z\",\n            \"session\": \"01J8Z5N2C7QK9V3M4T6R8W0SES\",\n            \"type\": \"module_enter\",\n            \"module\": \"pickup_by_code\"\n        },\n        {\n            \"id\": \"01J8Z5N2C7QK9V3M4T6R8W0AA2\",\n            \"ts\": \"2026-08-29T14:04:31Z\",\n            \"session\": \"01J8Z5N2C7QK9V3M4T6R8W0SES\",\n            \"type\": \"session_end\",\n            \"module\": \"pickup_by_code\",\n            \"started_at\": \"2026-08-29T14:03:52Z\",\n            \"duration_ms\": 39000,\n            \"outcome\": \"completed\",\n            \"entry_module\": \"home\",\n            \"exit_module\": \"pickup_by_code\",\n            \"step_count\": 3,\n            \"error_count\": 0,\n            \"language\": \"chs\"\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List device operation logs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-operation-logs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-operation-logs"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Filter by warehouse (addressbook id)."
                                },
                                {
                                    "key": "device_type",
                                    "value": "",
                                    "description": "kiosk / smart_locker / smart_drop."
                                },
                                {
                                    "key": "action",
                                    "value": "",
                                    "description": "Exact action token, e.g. open, self_pickup, label_printed."
                                },
                                {
                                    "key": "result",
                                    "value": "",
                                    "description": "success / failed / pending."
                                },
                                {
                                    "key": "date_from",
                                    "value": "",
                                    "description": "Y-m-d, inclusive, in the caller’s timezone."
                                },
                                {
                                    "key": "date_to",
                                    "value": "",
                                    "description": "Y-m-d, inclusive, in the caller’s timezone."
                                },
                                {
                                    "key": "keyword",
                                    "value": "",
                                    "description": "Matches device name, target, customer contact or operator name."
                                },
                                {
                                    "key": "grid_id",
                                    "value": "",
                                    "description": "Filter by compartment (grids.id)."
                                },
                                {
                                    "key": "operation_channel",
                                    "value": "",
                                    "description": "How the operation reached the system: web / api / device / webhook / system."
                                },
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": "Exact pickup/delivery/return/shipping code presented for the operation."
                                },
                                {
                                    "key": "order_id",
                                    "value": "",
                                    "description": "Typed order id; the table it points to is decided by order_type."
                                },
                                {
                                    "key": "order_type",
                                    "value": "",
                                    "description": "delivery / express / return / storage / carrier_package / partner_delivery."
                                },
                                {
                                    "key": "provider_id",
                                    "value": "",
                                    "description": "External third-party provider id the operation is attributed to."
                                },
                                {
                                    "key": "external_order_id",
                                    "value": "",
                                    "description": "The external provider's own order/package reference."
                                },
                                {
                                    "key": "is_mock",
                                    "value": "",
                                    "description": "1 = only sandbox mock locker operations, 0 = only real ones."
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Default 50, maximum 200."
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "1-based page number."
                                }
                            ]
                        },
                        "description": "Paginated, newest first, scoped to the authenticated business. Every token field is paired with a *_label translated into the caller’s language. Timestamps are returned in the caller’s timezone with an explicit offset, and date_from/date_to are interpreted in that same timezone. Rows also carry the operation context: grid, operation channel, code used, associated order (typed id), external provider, external order id and mock flag."
                    },
                    "response": []
                },
                {
                    "name": "Headline device usage for a period, screen and API side by side",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-usage/summary",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-usage",
                                "summary"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to six days before `to`. Ranges longer than 366 days are trimmed to the most recent 366."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to today."
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Limit to one site (addressbook id). A site outside the caller's scope returns nothing, never everything."
                                }
                            ]
                        },
                        "description": "How the smart lockers, Smart Drops and kiosks are actually used, screen and API channels side by side, for the authenticated business. The screen channel comes from the terminals themselves and arrives in batches, so the most recent minutes are normally still missing; the API channel is derived from the device operation log. Days follow the account's timezone, sandbox devices are excluded, and devices whose usage collection was switched off do not appear at all.\n\nA venue-partner token is pinned to that partner's own sites and reads a privacy-floored projection: head counts below the floor are withheld rather than rounded, and per-day head counts are not returned at all.\n\nUnique people are counted so that somebody who visits every day counts once for the range, not once per day; the daily `people` figure is each day's own count and must never be summed across days."
                    },
                    "response": []
                },
                {
                    "name": "Device usage day by day, screen and API side by side",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-usage/daily",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-usage",
                                "daily"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to six days before `to`. Ranges longer than 366 days are trimmed to the most recent 366."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to today."
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Limit to one site (addressbook id). A site outside the caller's scope returns nothing, never everything."
                                }
                            ]
                        },
                        "description": "How the smart lockers, Smart Drops and kiosks are actually used, screen and API channels side by side, for the authenticated business. The screen channel comes from the terminals themselves and arrives in batches, so the most recent minutes are normally still missing; the API channel is derived from the device operation log. Days follow the account's timezone, sandbox devices are excluded, and devices whose usage collection was switched off do not appear at all.\n\nA venue-partner token is pinned to that partner's own sites and reads a privacy-floored projection: head counts below the floor are withheld rather than rounded, and per-day head counts are not returned at all.\n\nUnique people are counted so that somebody who visits every day counts once for the range, not once per day; the daily `people` figure is each day's own count and must never be summed across days."
                    },
                    "response": []
                },
                {
                    "name": "Device usage per machine",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-usage/devices",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-usage",
                                "devices"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to six days before `to`. Ranges longer than 366 days are trimmed to the most recent 366."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to today."
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Limit to one site (addressbook id). A site outside the caller's scope returns nothing, never everything."
                                }
                            ]
                        },
                        "description": "How the smart lockers, Smart Drops and kiosks are actually used, screen and API channels side by side, for the authenticated business. The screen channel comes from the terminals themselves and arrives in batches, so the most recent minutes are normally still missing; the API channel is derived from the device operation log. Days follow the account's timezone, sandbox devices are excluded, and devices whose usage collection was switched off do not appear at all.\n\nA venue-partner token is pinned to that partner's own sites and reads a privacy-floored projection: head counts below the floor are withheld rather than rounded, and per-day head counts are not returned at all.\n\nUnique people are counted so that somebody who visits every day counts once for the range, not once per day; the daily `people` figure is each day's own count and must never be summed across days."
                    },
                    "response": []
                },
                {
                    "name": "Device usage per site",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-usage/sites",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-usage",
                                "sites"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to six days before `to`. Ranges longer than 366 days are trimmed to the most recent 366."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to today."
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Limit to one site (addressbook id). A site outside the caller's scope returns nothing, never everything."
                                }
                            ]
                        },
                        "description": "How the smart lockers, Smart Drops and kiosks are actually used, screen and API channels side by side, for the authenticated business. The screen channel comes from the terminals themselves and arrives in batches, so the most recent minutes are normally still missing; the API channel is derived from the device operation log. Days follow the account's timezone, sandbox devices are excluded, and devices whose usage collection was switched off do not appear at all.\n\nA venue-partner token is pinned to that partner's own sites and reads a privacy-floored projection: head counts below the floor are withheld rather than rounded, and per-day head counts are not returned at all.\n\nUnique people are counted so that somebody who visits every day counts once for the range, not once per day; the daily `people` figure is each day's own count and must never be summed across days."
                    },
                    "response": []
                },
                {
                    "name": "Device usage per module of the screen, per channel",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-usage/modules",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-usage",
                                "modules"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to six days before `to`. Ranges longer than 366 days are trimmed to the most recent 366."
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "Y-m-d. Defaults to today."
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Limit to one site (addressbook id). A site outside the caller's scope returns nothing, never everything."
                                }
                            ]
                        },
                        "description": "How the smart lockers, Smart Drops and kiosks are actually used, screen and API channels side by side, for the authenticated business. The screen channel comes from the terminals themselves and arrives in batches, so the most recent minutes are normally still missing; the API channel is derived from the device operation log. Days follow the account's timezone, sandbox devices are excluded, and devices whose usage collection was switched off do not appear at all.\n\nA venue-partner token is pinned to that partner's own sites and reads a privacy-floored projection: head counts below the floor are withheld rather than rounded, and per-day head counts are not returned at all.\n\nUnique people are counted so that somebody who visits every day counts once for the range, not once per day; the daily `people` figure is each day's own count and must never be summed across days."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Device Orders",
            "item": [
                {
                    "name": "List device orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "created / reserved / depositing / stored / retrieving / collected / removed / failed / cancelled."
                                },
                                {
                                    "key": "kind",
                                    "value": "",
                                    "description": "Device order kind, e.g. shipout_pickup, partner_delivery, smart_drop_return."
                                },
                                {
                                    "key": "device_type",
                                    "value": "",
                                    "description": "smart_locker / kiosk / smart_drop."
                                },
                                {
                                    "key": "device_id",
                                    "value": "",
                                    "description": "Device id (with device_type)."
                                },
                                {
                                    "key": "next_actor",
                                    "value": "",
                                    "description": "Who the handling waits on: recipient / customer / courier / operator / partner / nobody."
                                },
                                {
                                    "key": "overdue",
                                    "value": "",
                                    "description": "true = only overdue handlings, false = only ones not overdue."
                                },
                                {
                                    "key": "order_id",
                                    "value": "",
                                    "description": "Delivery order id."
                                },
                                {
                                    "key": "reference",
                                    "value": "",
                                    "description": "Search in the reference (tracking) number and external order id."
                                },
                                {
                                    "key": "date_from",
                                    "value": "",
                                    "description": "Y-m-d, inclusive, on stored_at, in the caller’s timezone."
                                },
                                {
                                    "key": "date_to",
                                    "value": "",
                                    "description": "Y-m-d, inclusive, on stored_at, in the caller’s timezone."
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "1-based page number."
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Default 20, maximum 100."
                                }
                            ]
                        },
                        "description": "Ledger rows the caller may see, newest first. Internal staff see every handling of their business; a supplier sees only its own partner deliveries; a venue partner sees what is in the machines at its sites."
                    },
                    "response": []
                },
                {
                    "name": "Show a device order",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Device order id."
                                }
                            ]
                        },
                        "description": "One ledger row. Hidden rows answer 404 exactly like missing ones."
                    },
                    "response": []
                },
                {
                    "name": "Device order history",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/:id/events",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                ":id",
                                "events"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Device order id."
                                }
                            ]
                        },
                        "description": "The append-only history of one device order, oldest first. Pickup codes never appear in payloads."
                    },
                    "response": []
                },
                {
                    "name": "Device order exceptions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/:id/exceptions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                ":id",
                                "exceptions"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Device order id."
                                }
                            ]
                        },
                        "description": "The exceptions raised on one device order, newest first. actionable says whether this caller may acknowledge or resolve each one."
                    },
                    "response": []
                },
                {
                    "name": "Acknowledge a device order exception",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/exceptions/:id/acknowledge",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                "exceptions",
                                ":id",
                                "acknowledge"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Exception id."
                                }
                            ]
                        },
                        "description": "Marks an open exception as acknowledged. Requires smart locker management permission (client admins always; employees when enabled; contractors never)."
                    },
                    "response": []
                },
                {
                    "name": "Resolve or dismiss a device order exception",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/exceptions/:id/resolve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                "exceptions",
                                ":id",
                                "resolve"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Exception id."
                                }
                            ]
                        },
                        "description": "Closes an unresolved exception with what was done about it. dismiss=true marks a report that turned out to be nothing; the action is still recorded. Same permission as acknowledge.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"action\": \"reopened\",\n    \"note\": \"Door reopened from the console\",\n    \"dismiss\": false\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Resend a device order pickup code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/:id/resend-code",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                ":id",
                                "resend-code"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Device order id."
                                }
                            ]
                        },
                        "description": "Sends the pickup code again to whoever is meant to collect the parcel and clears any attempt lock. Requires the row to be visible and smart locker management permission."
                    },
                    "response": []
                },
                {
                    "name": "List machines with a pickup-code lock",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/code-locks",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                "code-locks"
                            ]
                        },
                        "description": "Smart lockers and kiosks of the caller's business whose pickup-by-code is locked right now after too many codes that matched nothing, or that are counting such codes in an open window. Internal staff only."
                    },
                    "response": []
                },
                {
                    "name": "Unlock pickup-by-code on a machine",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/device-orders/code-locks/unlock",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "device-orders",
                                "code-locks",
                                "unlock"
                            ]
                        },
                        "description": "Lifts the pickup-code lock of one smart locker or kiosk, resets its counters and closes its open code_attempts_exceeded exception as marked OK. Requires smart locker management permission and a machine of the caller's business.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"device_type\": \"smart_locker\",\n    \"device_id\": 11\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Dispatch",
            "item": [
                {
                    "name": "How the delivery day is going",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/overview",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "overview"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "The delivery day to read, as YYYY-MM-DD. Defaults to today. A date that cannot be read is refused with 422 rather than answered as an empty day, because an empty day reads as \"nothing was planned then\" and a dispatcher may act on it."
                                }
                            ]
                        },
                        "description": "Signal counts by severity, driver states and stop progress for one day. predictive_signals_available is currently false and is stated explicitly: the board reports what has happened, not what is about to. See docs/LIVE-ETA-BACKTEST-FINDINGS.md."
                    },
                    "response": []
                },
                {
                    "name": "List dispatch signals, worst first",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/signals",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "signals"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "active means open or acknowledged — what still needs someone."
                                },
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "severity",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "route_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "suggested_replan",
                                    "value": "",
                                    "description": "When set, only signals where Live Replan is the recommended recovery (type in recovery set and route_id set)."
                                }
                            ]
                        },
                        "description": "Scoped to the caller's business, and to their territories when they are not a client admin. Business-wide signals such as the planning backlog carry no territory and are visible to everyone who can see the board. available_types lists only the types the scan actually produces."
                    },
                    "response": []
                },
                {
                    "name": "Mark a signal as being worked on",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/signals/:signalId/acknowledge",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "signals",
                                ":signalId",
                                "acknowledge"
                            ],
                            "variable": [
                                {
                                    "key": "signalId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Acknowledging says \"I am on it\", not \"it is over\": the signal stays on the board and carries no resolution time."
                    },
                    "response": []
                },
                {
                    "name": "Close a signal",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/signals/:signalId/resolve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "signals",
                                ":signalId",
                                "resolve"
                            ],
                            "variable": [
                                {
                                    "key": "signalId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The condition has been dealt with."
                    },
                    "response": []
                },
                {
                    "name": "Dismiss a signal, with a reason",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/signals/:signalId/ignore",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "signals",
                                ":signalId",
                                "ignore"
                            ],
                            "variable": [
                                {
                                    "key": "signalId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "A reason is mandatory. \"Why did nobody act on this\" is the question asked after a bad day, and it cannot be answered later if nobody wrote it down."
                    },
                    "response": []
                },
                {
                    "name": "Where the drivers who are out right now actually are",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/live",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "live"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "The delivery day to read, as YYYY-MM-DD. Defaults to today. A date that cannot be read is refused with 422 rather than answered as an empty day, because an empty day reads as \"nothing was planned then\" and a dispatcher may act on it."
                                }
                            ]
                        },
                        "description": "Merges hardware trackers with the driver app's own points. position is null rather than a placeholder coordinate when a driver cannot be located, so nobody is drawn somewhere plausible but wrong. Points arrive when the driver records work rather than on a timer, so staleness_seconds is often large."
                    },
                    "response": []
                },
                {
                    "name": "Rebuild the board now",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/scan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "scan"
                            ]
                        },
                        "description": "Re-runs the signal scan instead of waiting for the schedule. Idempotent: a condition already on the board is refreshed rather than raised again, and a condition that has gone away is closed automatically."
                    },
                    "response": []
                },
                {
                    "name": "Credentials for the dispatch live feed",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/realtime",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "realtime"
                            ]
                        },
                        "description": "MQTT-over-WebSocket credentials scoped to the caller's business subtree, or enabled:false with a poll interval when push is unavailable. Territory scoping is NOT expressed in the broker ACL — payloads carry territory_id and the HTTP API remains the authority on what an account may act on."
                    },
                    "response": []
                },
                {
                    "name": "What the signed-in account may do",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/capabilities",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "capabilities"
                            ]
                        },
                        "description": "Permissions and territory scope, so a client can hide what it cannot do. The server still enforces each of these on every request — this is for the interface, not the gate. signal_types lists only the types the scan produces, so a filter never has an empty option behind it."
                    },
                    "response": []
                },
                {
                    "name": "Routes for a delivery day, with progress",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "The delivery day to read, as YYYY-MM-DD. Defaults to today. A date that cannot be read is refused with 422 rather than answered as an empty day, because an empty day reads as \"nothing was planned then\" and a dispatcher may act on it."
                                }
                            ]
                        },
                        "description": "One entry per driver on each route. Brokers see only their own routes. Times are the working window as configured and as actually worked."
                    },
                    "response": []
                },
                {
                    "name": "The account's routes, one row per route",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/route-list",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "route-list"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "Y-m-d. Omit for every route, newest first."
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Route name, route number, or a driver's name. Applied before paging."
                                }
                            ]
                        },
                        "description": "The console's Route List: one row per route, with the vehicles on it and how the day is going. This is deliberately not the same list as /v1/dispatch/routes, which answers \"which drivers still have work\" and returns one row per driver — clients already read that one that way, so both are kept.\n\nOmitting date lists every route this account has, newest day first, exactly as the console's list behaves — a dispatcher opening it after midnight would otherwise find yesterday's work gone. Pass date to narrow to one day.\n\nAlways paged: the largest accounts have five figures of routes. meta carries the page, the true total and has_more, so a short answer is never mistaken for the whole list; per_page above the maximum is answered with the maximum rather than taken literally. A vehicle nobody has crewed yet is counted in awaiting_drivers rather than being hidden, and has_unassigned_stops says whether the route is carrying stops that belong to no vehicle. delivery_rate is a percentage of the route's own stops, so a route with no stops reads 0 rather than being left out.\n\nsearch narrows the whole account before the paging, not the page that came back: it matches a route's name, its number (exactly — 12 finds route 12, not 120), or the name or alias of a driver on it. meta.search echoes the term as the server understood it.\n\nplan_failure_code and plan_failure_reason (added after every earlier field) say why a route failed to plan: the stored code (no_orders, no_drivers, no_valid_coordinates, engine_error or no_routes) and its text in the language of the request. Both are null unless status is 4 (Failed)."
                    },
                    "response": []
                },
                {
                    "name": "One route: its settings, the day's totals and its vehicles",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Everything the Route Edit screen needs in one answer: the route's own settings, totals for the whole route, and one entry per vehicle with that vehicle's own progress. A vehicle awaiting a driver reports awaiting_driver true and carries no driver_id or name rather than a placeholder. can_add_orders says whether the route's status still lets stops be put on it, so a client can hide the action instead of discovering the refusal. first_actual_start and last_actual_end come from the vehicles' own records, not from the plan — drivers routinely set off well away from the planned time. route.plan_failure_code and route.plan_failure_reason (added after every earlier field) say why the route failed to plan: the stored code and its text in the language of the request, both null unless route.status is 4 (Failed). route.plan_explanation (added after every earlier field, including the failure fields) is what the latest sRoute 2T planning run reported about the plan, or null when no sRoute 2T solve has explained it: planned_at, replan, solve_id, engine_version, score; score_breakdown (rule id => {hard, medium, soft}, e.g. travelTime, unassignedVisit, overtimeCost, familiarZone); routes (driver_id with that driver's overtime in seconds and score_breakdown); overtime_total (seconds); must_serve_unmet (order ids of must-serve stops left out); unassigned (order_id, reason such as time_window, shift_end or deferred, and the planner's explanation in English, at most 500 rows) and unassigned_total. The route carries pickup_route_template_id (the recurring pickup template it was generated from, null otherwise), allow_adhoc_pickups and allow_deliveries (its two switches, 1 for every other route)."
                    },
                    "response": []
                },
                {
                    "name": "Change a route's own settings",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Renames a route, moves it to another date, changes its operation mode or its customer notifications. Only the fields actually sent are written, so a client may send one of them without having to echo the rest. A yes/no may be sent as true/false or as the words \"true\"/\"false\" — a client that spells its own switch out is no longer told its own value is not a boolean. Sending nothing to change is refused rather than reported as a save. Every accepted change is recorded against the route as an operation event, so a route that moved date says who moved it and what it read before.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"date\": \"2026-07-27\",\n    \"notification_enabled\": true,\n    \"notify_at\": 8\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete a cancelled route",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Removes the route for good, with its crewing rows and whatever stop rows the cancellation left behind.\n\nOnly a cancelled route may be deleted — the same rule the console's route list applies, and the reason for it is that cancelling is what unplans the stops and hands the orders back. A route in any other status is refused with `not_deletable` and its current status, so an interface can say why rather than offering a button that fails; `can_delete` on the route list and on the route detail says the same thing in advance. A contractor is answered 403, as for cancelling.\n\nThe deletion is written to the route history before the row goes, because afterwards there is no route left to ask about."
                    },
                    "response": []
                },
                {
                    "name": "Orders that could still go on this route",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/addable-orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "addable-orders"
                            ],
                            "query": [
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Matches reference, order code, name, company or address."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The day's orders that are not already planned and could be put on this route, so a dispatcher picks from a list instead of typing order numbers. Searchable by reference, order code, name, company or address. The list is capped; total and truncated always say whether you have all of it. A route whose status no longer takes stops answers 422 with code route_not_open rather than an empty list, so the reason is not mistaken for there being nothing to add."
                    },
                    "response": []
                },
                {
                    "name": "Put orders on one of the route's drivers",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/add-orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "add-orders"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Adds one or more of the day's orders to a named driver on the route. Orders that could not be added come back named in skipped rather than being counted as added, so a partial result is never read as a whole one — added and skipped together account for everything that was sent. A recurring pickup route only takes what its switches allow: an ad-hoc pickup while allow_adhoc_pickups is 0, or a delivery while allow_deliveries is 0, is refused with 422 and error_code recurring_pickups.adhoc_pickups_off or recurring_pickups.deliveries_off (the translated reason is in message / errors.order_ids).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"driver_id\": 557,\n    \"order_ids\": [\n        918273,\n        918274\n    ],\n    \"after_stop_number\": 13\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Drivers who could still be put on this route",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/available-drivers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "available-drivers"
                            ],
                            "query": [
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Matches alias, name or telephone."
                                },
                                {
                                    "key": "slot_id",
                                    "value": "",
                                    "description": "Restrict to the drivers allowed on one reserved vehicle."
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Active drivers of the business who are not already on the route. A route contracted to a broker offers only that broker's drivers, and a broker sees only his own whatever the route says — so a picker built from this can never offer someone the add would refuse. `brokers` maps broker id to name so the list can be grouped into own drivers and a contractor's."
                    },
                    "response": []
                },
                {
                    "name": "Add vehicles to a route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/vehicles",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "vehicles"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Puts one or more drivers on the route as new vehicles. This is not the same as assign-driver, which crews a vehicle the route already has — this is the second van, wanted after the plan was made. Every driver sent is dealt with on its own: the ones added come back in `added` with their new slot id, the ones passed over in `skipped` with why (`already_on_route`, `driver_not_found`, `driver_not_allowed_on_route`). Nothing added at all is a 422 rather than a success with an empty list.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"driver_ids\": [\n        557,\n        558\n    ],\n    \"work_from\": \"08:00:00\",\n    \"work_to\": \"17:00:00\",\n    \"start_address_id\": 88\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Where a driver on this route may start and end",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/work-locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "work-locations"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The depots and work locations the account may use, grouped as the console groups them — its own warehouses first, then the ones it is allowed to use belonging to others."
                    },
                    "response": []
                },
                {
                    "name": "Move where one driver starts and ends the day",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/drivers/:driverId/locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "drivers",
                                ":driverId",
                                "locations"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "driverId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Changes the vehicle's start and end location and then re-solves that driver's run, so the stop order matches the new endpoints rather than the old ones. Both blank is refused — the solver would have nothing to anchor either end of the day to. `reoptimised` says whether the re-solve actually ran: the locations are saved either way, and a solver that could not be reached is reported rather than being read as nothing having changed.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"start_address_id\": 88,\n    \"end_address_id\": 91\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "How to load one driver's van",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/drivers/:driverId/load-plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "drivers",
                                ":driverId",
                                "load-plan"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "driverId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Advisory only, and never changes planning: the packages assigned to the vehicle's cargo zones in reverse delivery order, with total weight and volume and the warnings the console shows — a package too long for any zone, a zone over its volume, a load over the vehicle's weight. A driver whose vehicle has no cargo zones configured gets the plan with that stated rather than an error."
                    },
                    "response": []
                },
                {
                    "name": "Cancel what a driver did not deliver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/drivers/:driverId/cancel-remaining",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "drivers",
                                ":driverId",
                                "cancel-remaining"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "driverId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancels delivery for every stop still outstanding on a finished run: each becomes Needs Rescheduling, and each gets its own operation event and a failure tracking event with the reason \"Delivery Cancelled\" — so the record reads the same as stops failed one at a time. Offered only once the run is closed; on a driver still working it is refused with `run_not_completed`, because cancelling under a working driver would race that driver's own app. A finished run with nothing outstanding answers `nothing_to_cancel` rather than reporting a successful cancellation of nothing."
                    },
                    "response": []
                },
                {
                    "name": "Set a driver's run status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/drivers/:driverId/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "drivers",
                                ":driverId",
                                "status"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "driverId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Moves one driver's run on a route between **0 waiting**, **1 on route** and **2 completed** — the same write the console's route list makes from its per-driver status dropdown, so a dispatcher on a phone and one at a desk cannot leave a run in two different states.\n\nThe stops still outstanding on that run move with it: back to *Already Planned* when the run returns to waiting, to *Out for Delivery* — or *Out for Pickup*, when the order started as a pickup — when it starts, and to *Needs Rescheduling* when it is marked finished. Stops already delivered or failed are never touched.\n\nBusinesses with strict start/end enabled have rules about when a run may start or end: everything scanned, and no other run already open for that driver. A refusal comes back as `strict_start` or `strict_end` carrying the sentence the console shows, which is meant to be displayed as it is rather than translated into a guess.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Approve a planned route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/approve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "approve"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Moves the route on and records against every stop that it is now planned. That event is what a recipient's tracking page reads, so approving from a phone writes exactly what approving from the console writes."
                    },
                    "response": []
                },
                {
                    "name": "Cancel a route, or some of its drivers",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancels the whole route, or only the drivers named in driver_ids. A route with stops already delivered is refused with `has_delivered_stops` rather than partly unwound. A contractor may crew and work his own vehicles but never cancel the route itself, and is answered 403.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"driver_ids\": [\n        557\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Replay the day a route was worked",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/replay",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "replay"
                            ],
                            "query": [
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": "One driver instead of every driver on the route."
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Each driver's recorded track, their stops and the events along the way, plus the window the whole day fits in as epoch milliseconds. Where a driver's phone never reported, `has_gps_data` is false and the track is built from the stops themselves — every point carries `source` (`gps`, `order` or `interpolated`) so a reconstructed track is never presented as a recorded one."
                    },
                    "response": []
                },
                {
                    "name": "Put a route's stops in a new order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/reorder",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "reorder"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Submits the whole target state — every driver's ordered stop list — and queues the rebuild that applies it, the same job the console's route map uses. Stops dragged off the drivers travel in the same submission: `unassigned_order_ids` are left on no driver, and `new_order_queue_ids` are handed to the rebuild to place itself. Sending a queue clears the fixed sequences, because pinning each driver to what they already had would leave the queued stops nowhere to go. Omitting either list means this submission says nothing about that pool, which is not the same as sending an empty one. The reply carries a job id: a rebuild is queued work, and a client that assumes it has finished will show the old order.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"driver_orders\": {\n        \"557\": [\n            918273,\n            918274\n        ]\n    },\n    \"unassigned_order_ids\": [\n        918275\n    ],\n    \"new_order_queue_ids\": [\n        918276\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Photos and signatures captured at a stop",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/orders/:orderId/files",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "orders",
                                ":orderId",
                                "files"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The files a driver captured against the order. `distance` is how far in metres the phone was from the address when the file was taken, which is what tells a dispatcher whether a proof-of-delivery photo was taken at the door or from the road; it is null where the capture had no position."
                    },
                    "response": []
                },
                {
                    "name": "Where a stop sits on the map",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/orders/:orderId/coordinates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "orders",
                                ":orderId",
                                "coordinates"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The delivery and pickup halves separately, so a wrong pin can be seen before it is moved. A pickup-type order has only the one address and it is the pickup one; an order with a separate origin keeps that origin's position rather than the delivery one."
                    },
                    "response": []
                },
                {
                    "name": "Correct a stop's position",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/orders/:orderId/coordinates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "orders",
                                ":orderId",
                                "coordinates"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Moves the pin — typically from a phone standing in front of the address. Only the half actually sent is written, so correcting a delivery pin cannot blank a pickup one, and a value identical to what is stored is saved without being recorded as a correction. Every correction is logged, recorded as an operation event against the order, and the order's distance is re-derived in the background, because distance is what the order is priced and planned on. A coordinate off the earth is refused rather than stored.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"delivery_lat\": 53.4751,\n    \"delivery_lng\": -2.2359,\n    \"correction_source\": \"dispatch_app\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Everything that has happened to a stop",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/orders/:orderId/operation-history",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "orders",
                                ":orderId",
                                "operation-history"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The order's operation events in order, each with who did it, what the status read before and after, and any files captured at that moment — the same history the console's operation-history page shows."
                    },
                    "response": []
                },
                {
                    "name": "Stops on a route, planned order and what actually happened",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/timeline",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "timeline"
                            ],
                            "query": [
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": "Limit to one driver on a route worked by several."
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "One driver's run on a route, or the whole route if no driver is named. completed_at comes from the delivery attempt's own record and matches what the route map on the web shows for the same stop. orders_routes holds one row per attempt, so a stop that failed here carries no completed_at even when the order was delivered on a later route; order_current_status is the order's status today, which for a re-planned stop will already read as delivered. planned_arrival is the plan's own wall clock and is deliberately not differenced against completed_at: drivers routinely set off well away from the planned time, so that gap measures when the driver started rather than whether the stop was late. It is null for routes planned before that seeding was fixed. A route worked by a whole fleet can hold hundreds of stops, so a single response is capped; total_stops and truncated always say whether you have the whole route."
                    },
                    "response": []
                },
                {
                    "name": "What moving these stops would do",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/preview/move",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "preview",
                                "move"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": "The route the stops are on now."
                                }
                            ]
                        },
                        "description": "Writes nothing. Only outstanding stops can move: one already delivered or failed keeps the record of that attempt, and re-planning a failed delivery creates a new one on a later route instead. Stops handed to a third-party carrier are refused too. Anything that cannot move comes back named in `skipped` rather than being dropped silently — a dispatcher pressing a button in a depot has no other way to notice. Apply runs the same loader again, so the two cannot drift."
                    },
                    "response": []
                },
                {
                    "name": "Carry out a previewed move",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/apply/move",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "apply",
                                "move"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Held under the same lock the route optimiser uses, on both routes, so a move cannot land in the middle of a re-optimisation and two dispatchers cannot both act on a stale view. The stops are loaded again inside the lock, because one can be delivered between looking and pressing. Each moved stop is recorded on the order’s own operation-event timeline. Only outstanding stops can move: one already delivered or failed keeps the record of that attempt, and re-planning a failed delivery creates a new one on a later route instead. Stops handed to a third-party carrier are refused too. Anything that cannot move comes back named in `skipped` rather than being dropped silently — a dispatcher pressing a button in a depot has no other way to notice."
                    },
                    "response": []
                },
                {
                    "name": "Notes on a stop",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/orders/:orderId/notes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "orders",
                                ":orderId",
                                "notes"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Every note written against the order, oldest first. The matching POST on this path adds one."
                    },
                    "response": []
                },
                {
                    "name": "Leave a note for the driver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/orders/:orderId/notes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "orders",
                                ":orderId",
                                "notes"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Written where the driver app already reads notes, so it reaches whoever is driving without anything new being built. Recorded on the order’s operation-event timeline alongside the route changes it explains."
                    },
                    "response": []
                },
                {
                    "name": "Drivers who could take over this route",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/replacement-candidates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "replacement-candidates"
                            ],
                            "query": [
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Driver name or alias."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Anyone already on the route is left out, because the replace refuses them — offering a choice that will be rejected is worse than not offering it. Placeholder slots are left out too: they are vacancies, not people. A broker sees only their own drivers.\n\nOrdered by name, and nothing is suggested. Ranking was tried and removed: the only dimension the data supports is whether a driver is rostered that day, and being rostered does not mean being able to take more work. A hint that is right sometimes is worse than none, because it gets trusted.\n\nCapped and searchable by driver name or alias. total and truncated always say whether you have the whole roster; search re-queries the server rather than filtering what was already sent, because the driver being looked for may never have been in it."
                    },
                    "response": []
                },
                {
                    "name": "What replacing this driver would do",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/preview/replace-driver",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "preview",
                                "replace-driver"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Writes nothing. Only outstanding stops change hands: what has already been delivered or failed stays recorded against the driver who did it. The incoming driver’s run is re-optimised, so their stop order will not be the old one — do not show the previous sequence afterwards."
                    },
                    "response": []
                },
                {
                    "name": "Carry out a previewed replacement",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/apply/replace-driver",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "apply",
                                "replace-driver"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Held under the same lock the route optimiser uses: the replace re-optimises the incoming driver’s run, so doing it while another optimisation is in flight would leave two solvers writing the same stop numbers. Recorded on the route’s own operation-event timeline. Only outstanding stops change hands: what has already been delivered or failed stays recorded against the driver who did it. The incoming driver’s run is re-optimised, so their stop order will not be the old one — do not show the previous sequence afterwards."
                    },
                    "response": []
                },
                {
                    "name": "Re-solve a route’s remaining stops",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/optimise",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "optimise"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Queues the same run the web console queues, under the same lock, so the two cannot end up with different ideas about who is optimising what. There is no preview: the solver decides the order, and asking it twice would cost as much as doing it once. Poll /v1/dispatch/optimise-status/{jobId} for progress."
                    },
                    "response": []
                },
                {
                    "name": "Progress of a queued optimisation",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/optimise-status/:jobId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "optimise-status",
                                ":jobId"
                            ],
                            "variable": [
                                {
                                    "key": "jobId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Reads the same entry the web console polls. The entry ages out about an hour after the run, so a 404 here means \"finished a while ago\", not \"failed\"."
                    },
                    "response": []
                },
                {
                    "name": "Generate Live Replan multi-plans (what-if on sRoute 2 or sRoute 2T, no writes)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/routes/:routeId/replan/generate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "routes",
                                ":routeId",
                                "replan",
                                "generate"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Generate Live Replan multi-plans (what-if on sRoute 2 or sRoute 2T, no writes)",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"strategies\": [\n        \"min_change\",\n        \"rebalance\",\n        \"sla_protect\"\n    ],\n    \"max_plans\": 3,\n    \"engine\": \"sroute2t\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Apply a Live Replan plan",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/replan/apply",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "replan",
                                "apply"
                            ]
                        },
                        "description": "Apply a Live Replan plan",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"session_id\": \"uuid\",\n    \"plan_id\": \"min_change\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Register this phone for notifications",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/devices",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "devices"
                            ]
                        },
                        "description": "Keyed on the app’s own install identifier, so signing in on a replacement handset does not leave the old one being notified. Re-registering updates the same row and revives a device that was signed out of. delivery_available says whether notifications can actually arrive for this platform, so a client does not wait for something that cannot come: iOS needs only a topic, because the APNs signing key is team-scoped and shared by every Superroute app; Android never registers here: that app keeps the dispatch live channel open with a foreground service and raises its own notifications from the board, so delivery_available is false for it by design rather than for want of a credential. Only critical signals reach a phone, and only ones newly raised — a phone that buzzes for everything gets silenced, and then the one that mattered is missed too. The payload carries only enough to open the right screen; the app fetches the detail from the API, which is the authority on what an account may see."
                    },
                    "response": []
                },
                {
                    "name": "Stop notifying this phone",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/devices/:deviceId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "devices",
                                ":deviceId"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Called on sign-out, so the next person to hold the handset is not notified. Idempotent — signing out twice is not an error worth showing anybody. The row is marked rather than deleted, so a device that comes back keeps its identity and \"why did this phone stop getting alerts\" stays answerable."
                    },
                    "response": []
                },
                {
                    "name": "Orders available to plan for a day",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/pool",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "pool"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "Delivery day, YYYY-MM-DD. Defaults to today. Refused with 422 if unreadable."
                                },
                                {
                                    "key": "territory_id",
                                    "value": "",
                                    "description": "Narrow to one territory. A territory belonging to another business yields an empty pool, not an unfiltered one."
                                },
                                {
                                    "key": "include_transfer_orders",
                                    "value": "",
                                    "description": "Let multi-leg transfer children into the pool. A no-op when the client’s multi-leg switch is off."
                                },
                                {
                                    "key": "order_batch[]",
                                    "value": "",
                                    "description": "Order batches. \"N/A\" selects the orders with no batch."
                                },
                                {
                                    "key": "sorting_code[]",
                                    "value": "",
                                    "description": "Sorting codes. \"N/A\" selects the orders with none."
                                },
                                {
                                    "key": "customers[]",
                                    "value": "",
                                    "description": "Customer ids. \"DIRECT\" selects the orders with no customer behind them."
                                },
                                {
                                    "key": "channel[]",
                                    "value": "",
                                    "description": "Order channel ids. -1 selects the orders with no channel."
                                },
                                {
                                    "key": "order_type[]",
                                    "value": "",
                                    "description": "D, DD, DP, P or P2P. Left out, the account's supported types apply."
                                },
                                {
                                    "key": "related_order_type[]",
                                    "value": "",
                                    "description": "Related order types. \"NONE\" selects the orders with none."
                                },
                                {
                                    "key": "order_source[]",
                                    "value": "",
                                    "description": "Order sources."
                                },
                                {
                                    "key": "regions[]",
                                    "value": "",
                                    "description": "Region ids."
                                },
                                {
                                    "key": "signature_status",
                                    "value": "",
                                    "description": "Empty for all, 1 for signature required, 0 for not."
                                }
                            ]
                        },
                        "description": "The orders that could go on a route for a day. Exactly the pool the web planner draws from — status, scheduling, multi-leg transfer rules, broker rules, territory and the third-party guard all come from one shared service, so the two surfaces never disagree about what counts as unplanned.\n\nCapped at 300 rows; total and truncated always say whether you have the whole day, because a shortened list otherwise reads as a quiet one. latitude and longitude are null rather than 0 when an order has no coordinates — such an order cannot be planned, and 0,0 would draw it in the Gulf of Guinea. The build screen's filters may be sent to narrow it; all are optional and sending none returns the whole pool."
                    },
                    "response": []
                },
                {
                    "name": "Assign orders to anchors without writing anything",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/anchors",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "anchors"
                            ]
                        },
                        "description": "Where each order lands, given where the anchors were dropped. One anchor is one vehicle. Writes nothing: a dispatcher moves anchors around many times before accepting an arrangement, and none of those attempts should leave a trace.\n\nOrders are scoped to the caller’s business inside the planner, so ids from elsewhere simply do not appear in the result. At most 40 anchors."
                    },
                    "response": []
                },
                {
                    "name": "Build a route from an accepted plan",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/build",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "build"
                            ]
                        },
                        "description": "Accept a plan and build the route it describes. One route holding every anchor, which is how this planner has always worked and what the web screen produces from the same input — the two share the builder.\n\nAn order belonging to another business is refused with 422 rather than dropped: a plan that quietly loses a stop is worse than one that fails, because the dispatcher believes the order is on a van. Recorded on the same operation-event timeline as every other dispatcher action."
                    },
                    "response": []
                },
                {
                    "name": "Drivers available to take an anchor",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/drivers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "drivers"
                            ],
                            "query": [
                                {
                                    "key": "territory_id",
                                    "value": "",
                                    "description": "Narrow to a territory. Drivers with no territory are still included."
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Match on driver name or alias. Re-queries the server rather than filtering what was already sent, because the driver being looked for may never have been in it."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Drivers who could take an anchor. The same rules the web planner applies: the account’s business, active users only, the chosen territory (drivers with no territory are always included), and a broker sees only their own.\n\nPlaceholder slots are left out and no pool is grown — creating rows to answer a read is a side effect a GET should not have, and leaving an anchor without a driver already means \"decide later\".\n\nOrdered by name and searchable by name or alias; nothing is suggested. Whether a driver is free today is not something this data can answer, and a hint that is right sometimes is worse than none because it gets trusted. total and truncated always say whether you have the whole roster. Each driver carries their own vehicle and shift — vehicle type, capacity, maximum distance, working hours, start and end depot, region group and skills — so a vehicle nobody configures is planned as that driver's vehicle rather than as a default."
                    },
                    "response": []
                },
                {
                    "name": "Ways of planning a day",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/methods",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "methods"
                            ]
                        },
                        "description": "Every way this account can plan, each saying what it needs. takes is groupings for the methods that offer a list to choose from (street, postcode, order batch), orders for those that carry an explicit selection, and anchors for magnetic planning.\n\nAdvertised rather than assumed on purpose: a client that hard-codes which method behaves how goes stale the moment one is added or withdrawn."
                    },
                    "response": []
                },
                {
                    "name": "Groups of waiting orders to plan",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/groupings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "groupings"
                            ],
                            "query": [
                                {
                                    "key": "planning_method",
                                    "value": "",
                                    "description": "4 street, 5 postcode, 6 order batch."
                                },
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "include_transfer_orders",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "order_batch[]",
                                    "value": "",
                                    "description": "Order batches."
                                },
                                {
                                    "key": "order_source[]",
                                    "value": "",
                                    "description": "Order sources."
                                },
                                {
                                    "key": "related_order_type[]",
                                    "value": "",
                                    "description": "Related order types. \"NONE\" selects the orders with none."
                                },
                                {
                                    "key": "region[]",
                                    "value": "",
                                    "description": "Region ids."
                                },
                                {
                                    "key": "region_group[]",
                                    "value": "",
                                    "description": "Region group ids."
                                }
                            ]
                        },
                        "description": "What a grouped method offers to choose from — streets, postcodes or order batches — busiest first, each with how many orders are waiting in it. Exactly what the matching web screen lists, including its two conditions: an order needs coordinates to be planned, and a street can only be read from an address that has a house number in front of it.\n\nA method that carries its own orders is refused with 422 rather than answered with an empty list, because an empty list reads as \"nothing waiting today\" — a different and wrong answer. Filters narrow the orders the groups are worked out from, so the groups themselves change — not just which are shown."
                    },
                    "response": []
                },
                {
                    "name": "Build routes from chosen groupings or orders",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/routes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "routes"
                            ]
                        },
                        "description": "Builds exactly what the matching web screen builds from the same plan — the same route settings, the same driver rows, the same order handling, the same handover to the planner. Orders the planner has no usable coordinates for are dropped and marked for correction, and a route with neither a driver nor a pending vehicle is skipped, both as the screens have always done.\n\nRecorded as planned from the API, so a route built on a phone can be told apart from one built at a desk."
                    },
                    "response": []
                },
                {
                    "name": "Saved route sets to plan from",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/route-sets",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "route-sets"
                            ],
                            "query": [
                                {
                                    "key": "territory_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Planning from a set is planning with an explicit order selection plus a note of which set it came from, so this list is needed before that method can be offered at all. Only active sets, in the order the business arranged them."
                    },
                    "response": []
                },
                {
                    "name": "Planning options",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/options",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "options"
                            ],
                            "query": [
                                {
                                    "key": "territory_id",
                                    "value": "",
                                    "description": "Regions, region groups and label codes only exist inside a territory."
                                },
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "Which day the batch and sorting-code counts are read from. Defaults to tomorrow."
                                }
                            ]
                        },
                        "description": "Every choice the console's planning screens offer: the settings a route is built with, and the filters that decide which orders are planned at all. Batches, sorting codes and the region lists are read off the orders actually waiting, so the territory and the day change the answer. `choices.routing_engines[].name` is a display label (`sRoute`, `sRoute 2`, `sRoute 2T`; earlier versions returned `SROUTE`, `SROUTE 2`, `SROUTE 2T`) — match engines on `value` (1, 2, 3), never on `name`."
                    },
                    "response": []
                },
                {
                    "name": "Planning settings",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/settings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "settings"
                            ]
                        },
                        "description": "The settings a route is built with, defaulted the way this business has configured them — the same values the console preloads into its planning screens."
                    },
                    "response": []
                },
                {
                    "name": "Working context",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/context",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "context"
                            ],
                            "query": [
                                {
                                    "key": "territory_id",
                                    "value": "",
                                    "description": "Ask as if this territory were selected. A territory this account cannot reach is answered as none."
                                }
                            ]
                        },
                        "description": "Where this account is working: which territory, and which depot within it, plus the lists to choose from. Both are account-wide on the console rather than per-plan — the territory decides the drivers, regions and orders; the depot decides which of that territory's stock a route is loaded from."
                    },
                    "response": []
                },
                {
                    "name": "Set work location",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch/plan/work-location",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch",
                                "plan",
                                "work-location"
                            ]
                        },
                        "description": "Change which depot this account works from. Writes the same setting the console's Change Location page writes, so the two never disagree about where somebody is — moving depot on a phone moves it at the desk as well.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"work_location_id\": 91\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Dispatch Options",
            "item": [
                {
                    "name": "Show my dispatch options",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch-options",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch-options"
                            ]
                        },
                        "description": "Dispatch Options Center: every opt-in dispatch option family for the authenticated business, normalised with defaults. All families are off by default; a business that never opted in gets the defaults and behaves exactly as before. The module itself is granted per business by the platform (business_details.allow_dispatch_options): while it is not granted this endpoint answers 403 and every family reads as disabled."
                    },
                    "response": []
                },
                {
                    "name": "Partially update my dispatch options",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch-options",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch-options"
                            ]
                        },
                        "description": "Body is {\"<family>\": {...}}. Only the submitted families change; each family is validated (unknown enum values, foreign territory/channel/provider ids rejected) and normalised. Unknown families are rejected with 400. Families: auto_assign, driver_duty, assign_quotes, ready_for_pickup, customer_alerts, delivery_tips, instant_kpi_report, reviews_center, tracking_page, consignee_profiles, payroll_v2, console_map_extras, public_order_forms, email_intake, pod_extras, console_onboarding (each family: {enabled: bool, ...family-specific keys}; see GET response for the normalised shape).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"auto_assign\": {\n        \"enabled\": true,\n        \"scope\": {\n            \"order_types\": [\n                \"D\",\n                \"P2P\"\n            ]\n        },\n        \"inhouse\": {\n            \"strategy\": \"min_open_orders\",\n            \"max_open_orders\": 8,\n            \"fallback\": \"third_party\"\n        },\n        \"third_party\": {\n            \"enabled\": true,\n            \"strategy\": \"lowest_price\",\n            \"max_fee\": 25\n        }\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Recent auto-assign orchestrator decisions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch-options/auto-assign/attempts",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch-options",
                                "auto-assign",
                                "attempts"
                            ],
                            "query": [
                                {
                                    "key": "order_id",
                                    "value": "",
                                    "description": "Limit to one order"
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Activity log of the opt-in auto-assign orchestrator: one row per decision (assigned / broadcast / held / skipped / failed / timed_out). Empty unless the business enabled auto_assign."
                    },
                    "response": []
                },
                {
                    "name": "Quick-assign candidates for an order",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch-options/assign-candidates/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch-options",
                                "assign-candidates",
                                ":orderId"
                            ],
                            "query": [
                                {
                                    "key": "refresh",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Ranked in-house drivers (distance to pickup, open orders, on-duty) next to live third-party quotes for one order. Requires the opt-in family assign_quotes (409 otherwise). Quotes are cached for quote_cache_seconds; pass refresh=1 to bypass."
                    },
                    "response": []
                },
                {
                    "name": "Assign the order to a third-party provider (quick assign)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch-options/assign-candidates/:orderId/third-party",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch-options",
                                "assign-candidates",
                                ":orderId",
                                "third-party"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates the third-party assignment through the standard pipeline (guards, push, webhooks). Requires assign_quotes and the third-party delivery module.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"provider_id\": 5\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Mark / unmark an order ready for pickup",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/dispatch-options/orders/:orderId/ready",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "dispatch-options",
                                "orders",
                                ":orderId",
                                "ready"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Ready-for-pickup mark (opt-in family ready_for_pickup; 409 otherwise). Marking ready emits order.ready (lifecycle webhooks) and, with automatic assignment set to \"when ready\", triggers the assignment. Client / employee accounts, and drivers when the option allows it.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"ready\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List customer reviews (reviews center)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reviews",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reviews"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "YYYY-MM-DD"
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "YYYY-MM-DD"
                                },
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": "Only this driver"
                                },
                                {
                                    "key": "min_rating",
                                    "value": "",
                                    "description": "1-5"
                                },
                                {
                                    "key": "max_rating",
                                    "value": "",
                                    "description": "1-5"
                                },
                                {
                                    "key": "escalation",
                                    "value": "",
                                    "description": "open | resolved"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page (default 1)"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Rows per page (default 25, max 200)"
                                }
                            ]
                        },
                        "description": "Survey ratings with the delivering driver, escalation state and per-question answers. Opt-in family reviews_center; 409 with feature_enabled=false while off. Client / employee accounts."
                    },
                    "response": []
                },
                {
                    "name": "Reviews summary and driver ranking (reviews center)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reviews/summary",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reviews",
                                "summary"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "YYYY-MM-DD"
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "YYYY-MM-DD"
                                },
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": "Only this driver"
                                }
                            ]
                        },
                        "description": "Rating distribution, average, low-rating and escalation counts, plus the per-driver ranking. Opt-in family reviews_center; 409 while off."
                    },
                    "response": []
                },
                {
                    "name": "Mark a review escalation as followed up (or reopen it)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reviews/:rateId/resolve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reviews",
                                ":rateId",
                                "resolve"
                            ],
                            "variable": [
                                {
                                    "key": "rateId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Escalation workflow of the reviews center (opt-in family reviews_center; 409 while off or when the storage migration has not run). Body: note (optional, max 1000 chars), reopen (optional bool).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"note\": \"Called the customer, refunded delivery fee\",\n    \"reopen\": false\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List recipient (consignee) profiles",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/consignees",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "consignees"
                            ],
                            "query": [
                                {
                                    "key": "q",
                                    "value": "",
                                    "description": "Name / phone / email / company / address search"
                                },
                                {
                                    "key": "vip",
                                    "value": "",
                                    "description": "Only VIP (true) / non-VIP (false)"
                                },
                                {
                                    "key": "min_orders",
                                    "value": "",
                                    "description": "Minimum order count"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Rows per page (max 200)"
                                }
                            ]
                        },
                        "description": "Recipient profiles aggregated from orders (opt-in family consignee_profiles; 409 with feature_enabled=false while off). Client / employee accounts."
                    },
                    "response": []
                },
                {
                    "name": "Look up the recipient profile behind a phone / email",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/consignees/lookup",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "consignees",
                                "lookup"
                            ],
                            "query": [
                                {
                                    "key": "phone",
                                    "value": "",
                                    "description": "Recipient phone"
                                },
                                {
                                    "key": "email",
                                    "value": "",
                                    "description": "Recipient email"
                                },
                                {
                                    "key": "country",
                                    "value": "",
                                    "description": "ISO-2 country for phone parsing"
                                },
                                {
                                    "key": "recent",
                                    "value": "",
                                    "description": "Recent orders to include (default 5)"
                                }
                            ]
                        },
                        "description": "Profile + recent orders for a recipient (opt-in family consignee_profiles). Phone is normalised (E.164 when parseable, else digits); email is the fallback identity."
                    },
                    "response": []
                },
                {
                    "name": "Update a recipient profile (VIP, default instructions, notes)",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/consignees/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "consignees",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Editable part of a recipient profile (opt-in family consignee_profiles). Only the keys sent are changed.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"is_vip\": true,\n    \"default_instructions\": \"Leave with concierge\",\n    \"notes\": \"Prefers afternoon\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Driver records cash collected on an order (payroll v2)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/cash-collected",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "cash-collected"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cash-collected settlement (opt-in family payroll_v2 with cash_settlement; 409 while off or storage not migrated). Payroll generation nets the collected cash out of the driver's pay (payment_after_cash). Send amount null to clear. Driver accounts; the order must be assigned to the driver.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"amount\": 42.5\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "POD requirements at stop completion (driver app)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/pod-requirements",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "pod-requirements"
                            ]
                        },
                        "description": "Dispatch Options → pod_extras. Tells the app what to collect before completing a stop. While off every flag is false and geofence_m is 0. When on, POST /v1/driver/update-deliver additionally accepts age_verified (bool) and geofence_override_reason (string) and answers 422 with pod_requirement = pod_age_verification_required | pod_pickup_photo_required | pod_item_check_required | pod_geofence | pod_geofence_no_position when a requirement is not met."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Documentation",
            "item": [
                {
                    "name": "Download Postman Collection (always current)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/documentation/postman-collection",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "documentation",
                                "postman-collection"
                            ],
                            "query": [
                                {
                                    "key": "source",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "download",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Converts the deployed OpenAPI document into a Postman Collection v2.1 on every request, so the download is always in sync with the live API. Query params: source=default|ua (which OpenAPI document to convert), download=0 to view inline instead of downloading. No authentication required."
                    },
                    "response": []
                },
                {
                    "name": "Integration updates guide (always current)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/documentation/integration-updates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "documentation",
                                "integration-updates"
                            ],
                            "query": [
                                {
                                    "key": "download",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "format",
                                    "value": "",
                                    "description": "md forces raw Markdown even for browsers"
                                },
                                {
                                    "key": "lang",
                                    "value": "",
                                    "description": "Document language (defaults to the platform locale)"
                                }
                            ]
                        },
                        "description": "Guide to the additive API & webhook capabilities — idempotent cancel, reconciliation feeds, error codes, v2 webhook signatures, payload envelope, new events, delivery options, token restrictions — with adoption examples. Generated live on every request. Browsers receive a styled, localized HTML page; non-browser clients receive raw Markdown. Query params: download=1 to download the Markdown file, format=md to force raw Markdown inline, lang=<code> (en, chs, cht, de, es, fr, it, nl, pt, sr, hu, pl, sk, cs) to select the language. No authentication required."
                    },
                    "response": []
                },
                {
                    "name": "Order status dictionary & flow (always current)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/documentation/order-status-flow",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "documentation",
                                "order-status-flow"
                            ],
                            "query": [
                                {
                                    "key": "download",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "format",
                                    "value": "",
                                    "description": "md forces raw Markdown even for browsers"
                                },
                                {
                                    "key": "lang",
                                    "value": "",
                                    "description": "Document language (defaults to the platform locale)"
                                }
                            ]
                        },
                        "description": "Complete order status dictionary, transition diagrams and cancel rules, generated live from the deployed code on every request. Browsers receive a styled, localized HTML page with rendered diagrams; non-browser clients receive raw Markdown. Query params: download=1 to download the Markdown file, format=md to force raw Markdown inline, lang=<code> (en, chs, cht, de, es, fr, it, nl, pt, sr, hu, pl, sk, cs) to select the language. No authentication required."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Driver",
            "item": [
                {
                    "name": "Get routes for one driver",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes"
                            ],
                            "query": [
                                {
                                    "key": "isProcessing",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "isHistory",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "isHistory",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "sort",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Filter by route ID."
                                }
                            ]
                        },
                        "description": "Each route's total and per-status count are this driver's orders on that route, not every order on the route. Recurring pickups (additive, after every existing key): recurring_pickup_route tells a route generated from a recurring pickup template; allow_adhoc_pickups and allow_deliveries are its two switches (true for every other route, and before the recurring pickup migrations)."
                    },
                    "response": []
                },
                {
                    "name": "Create a new route by driver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/create-route",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "create-route"
                            ]
                        },
                        "description": "Allows a driver to create a new delivery route if authorized."
                    },
                    "response": []
                },
                {
                    "name": "Cancel route by driver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                "cancel"
                            ]
                        },
                        "description": "Allows a driver to cancel their own assigned route. Requires business setting 'Allow Cancel Route By Driver' to be enabled. If the route has only one driver, the entire route will be cancelled. If the route has multiple drivers, only this driver's orders will be cancelled."
                    },
                    "response": []
                },
                {
                    "name": "Get orders on route for one driver",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "ids",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "isHideSuccess",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Recurring pickups (additive, after every existing key): is_recurring_pickup marks a mandatory recurring pickup stop; can_hand_off is false for such a stop and otherwise follows the route's allow_hands_off_order_by_driver (the hand-off endpoints refuse a recurring stop with recurring_pickups.skip_instead either way)."
                    },
                    "response": []
                },
                {
                    "name": "Get order stop number by ref/orderid/trackingnumber",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/get-stop-number/:ref",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "get-stop-number",
                                ":ref"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "ref",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get order stop number by ref/orderid/trackingnumber"
                    },
                    "response": []
                },
                {
                    "name": "Add order to route by ref/orderid/trackingnumber",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/add-order/:ref",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "add-order",
                                ":ref"
                            ],
                            "query": [
                                {
                                    "key": "optimize",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "ref",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Add order to route by ref/orderid/trackingnumber"
                    },
                    "response": []
                },
                {
                    "name": "Batch Add Orders to Route by Driver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/batch-add-orders-by-driver",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "batch-add-orders-by-driver"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": "ID of the route to which orders will be assigned"
                                }
                            ]
                        },
                        "description": "Allows an authenticated driver to batch assign orders to a specific route using the routeId in the path."
                    },
                    "response": []
                },
                {
                    "name": "Remove order from route by orderId",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/orders/:orderId/remove",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "orders",
                                ":orderId",
                                "remove"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Remove order from route by orderId"
                    },
                    "response": []
                },
                {
                    "name": "Batch remove orders from a route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/orders/batchremove",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "orders",
                                "batchremove"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": "The ID of the route."
                                }
                            ]
                        },
                        "description": "Allows a driver to batch remove their own orders from a specific route if allowed.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"order_ids\": [\n        5678,\n        5679,\n        5680\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get points on route for  one driver",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/:routeId/points",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                ":routeId",
                                "points"
                            ],
                            "variable": [
                                {
                                    "key": "routeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Start and end point, scan counts and geometry of the acting driver's run on the route. `breaks` (additive) lists the driver breaks planned on the run: start, end, minutes and after_stop_number (null = before the first stop); it is an empty array when the run has no breaks. `reload_stops` (additive, phase P3) lists the reloads at a depot planned between the trips of the run: start, end, minutes, after_stop_number, trip, and the depot (addressbook_id, name, latitude, longitude); it is an empty array when the run has none. A break taken at one of its places (sRoute 2T 1.0.21) also carries addressbook_id, name, latitude and longitude. `delivery_alternatives` (additive) lists the stops delivered at one of the order's alternative delivery locations: order_id, stop_number, alternative_id, addressbook_id, name, address, latitude, longitude, time_window_start and time_window_end; it is an empty array when there are none. Recurring pickups (additive, after every existing key): recurring_pickup_route tells a route generated from a recurring pickup template; allow_adhoc_pickups and allow_deliveries are its two switches (true for every other route, and before the recurring pickup migrations). `shifts` (additive, after every existing key) lists the shifts the run is split into, each with shift, start and end (HH:MM), start_address and end_address (null = the run's own start or end address), planned_start, planned_end, starts_after_stop_number and ends_after_stop_number; an empty array when the run is one shift."
                    },
                    "response": []
                },
                {
                    "name": "Get order by Id",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get order by Id"
                    },
                    "response": []
                },
                {
                    "name": "Get unified price detail for an order",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/price-detail",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "price-detail"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the latest price breakdown for the order. If the order is linked to a storage, moving, or shipping order, returns the related order's price details in a unified format."
                    },
                    "response": []
                },
                {
                    "name": "Update related storage/moving/shipping order items by driver order id",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/related-order-items",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "related-order-items"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update related storage/moving/shipping order items by driver order id",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"items\": [\n        {\n            \"qty\": 1,\n            \"description\": \"Desk xxx\",\n            \"length\": 120,\n            \"width\": 60,\n            \"height\": 75,\n            \"dimension_unit\": 1,\n            \"weight\": 35,\n            \"weight_unit\": 2\n        },\n        {\n            \"qty\": 2,\n            \"description\": \"Desk xxx\",\n            \"length\": 120,\n            \"width\": 60,\n            \"height\": 75,\n            \"dimension_unit\": 1,\n            \"weight\": 35,\n            \"weight_unit\": 2\n        },\n        {\n            \"description\": \"Old cabinet\",\n            \"length\": 80,\n            \"width\": 40,\n            \"height\": 180,\n            \"dimension_unit\": 1,\n            \"weight\": 45,\n            \"weight_unit\": 2,\n            \"qty\": 0\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get order status list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders-status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders-status"
                            ]
                        },
                        "description": "Get order status list"
                    },
                    "response": []
                },
                {
                    "name": "Update order status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders-status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders-status"
                            ]
                        },
                        "description": "Update order status"
                    },
                    "response": []
                },
                {
                    "name": "Add Gps Tracking Record",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/addGpsTackingRecord",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "addGpsTackingRecord"
                            ]
                        },
                        "description": "Add Gps Tracking Record",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"latitude\": \"45.5261811\",\n    \"longitude\": \"-73.6496515\",\n    \"route_id\": null,\n    \"order_id\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "start Delivery By route id",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/startDelivery",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "startDelivery"
                            ]
                        },
                        "description": "start Delivery By route id"
                    },
                    "response": []
                },
                {
                    "name": "end Delivery By route id",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/endDelivery",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "endDelivery"
                            ]
                        },
                        "description": "end Delivery By route id"
                    },
                    "response": []
                },
                {
                    "name": "Validate if ref matches order_id",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/routes/validate-order",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "routes",
                                "validate-order"
                            ]
                        },
                        "description": "Validate if ref matches order_id"
                    },
                    "response": []
                },
                {
                    "name": "Create an order note",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders-notes/create",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders-notes",
                                "create"
                            ]
                        },
                        "description": "Create an order note"
                    },
                    "response": []
                },
                {
                    "name": "Get order notes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders-notes/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders-notes",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get order notes"
                    },
                    "response": []
                },
                {
                    "name": "Upload order picture",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/upload-pictures",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "upload-pictures"
                            ]
                        },
                        "description": "Stores a proof-of-delivery photo or signature for an order on the driver's current route. Send one file as `image` (multipart file, base64 string or `imageUrl`), or up to 10 files at once as `images[]` (multipart). Each file in `images[]` is stored as its own order file with the same note and event links. When `images[]` is present it takes precedence over `image`."
                    },
                    "response": []
                },
                {
                    "name": "Delete order picture by orderfile Id",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/delete-pictures",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "delete-pictures"
                            ]
                        },
                        "description": "Delete order picture by orderfile Id"
                    },
                    "response": []
                },
                {
                    "name": "Register a new driver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/register",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "register"
                            ]
                        },
                        "description": "Register a new driver account. When X-BUSINESS-ID header is provided (self-registration mode), the business must be an enabled client and must have Driver Self Registration turned on; otherwise the request is refused and nothing is written. Whether the new account can be used right away is then Driver Self Registration Review (on by default): when that switch is on, the account is created disabled and queued for review. This is a public endpoint — no authentication required. Rate limited: at most 10 attempts per IP per minute.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"alias\": \"driver01\",\n    \"name\": \"John\",\n    \"password\": \"12345678\",\n    \"email\": \"join3@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"address\": \"demo\",\n    \"address_2\": \"demo\",\n    \"city\": \"demo\",\n    \"province\": \"demo\",\n    \"country\": \"CA\",\n    \"postcode\": \"H0H0H0\",\n    \"language\": \"en\",\n    \"capacity\": null,\n    \"territory_id\": null,\n    \"start_location_id\": null,\n    \"end_location_id\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "optimize route",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/optimize-route",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "optimize-route"
                            ]
                        },
                        "description": "optimize route"
                    },
                    "response": []
                },
                {
                    "name": "get driver profile",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/profile",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "profile"
                            ]
                        },
                        "description": "get driver profile"
                    },
                    "response": []
                },
                {
                    "name": "update driver profile",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/profile",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "profile"
                            ]
                        },
                        "description": "update driver profile",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"driver003_1\",\n    \"alias\": \"alias0003_1\",\n    \"email\": \"driver003@example.com\",\n    \"vehicle_type\": \"1 (1: Car, 2: Truck, 3: Motorcycle, 4: Bicycle 5:Pedestrian nullable,default 1)\",\n    \"password\": \"12345678\",\n    \"telephone\": \"5140000003\",\n    \"start_location_id\": 1,\n    \"end_location_id\": 1,\n    \"language\": \"en\",\n    \"capacity\": 60,\n    \"territory_id\": 1,\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get Orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Filter by order status ID"
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Filter by specific order ID"
                                },
                                {
                                    "key": "unassigned",
                                    "value": "",
                                    "description": "Set to 1 to filter only unassigned orders (no driver and no route)"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number for pagination"
                                },
                                {
                                    "key": "pageSize",
                                    "value": "",
                                    "description": "Number of items per page"
                                }
                            ]
                        },
                        "description": "Retrieve a list of orders filtered by optional parameters such as status, id, unassigned flag, and pagination."
                    },
                    "response": []
                },
                {
                    "name": "Get kiosk receiving area package count",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/kiosk-receiving-packages",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "kiosk-receiving-packages"
                            ],
                            "query": [
                                {
                                    "key": "route_id",
                                    "value": "",
                                    "description": "The route ID that contains the kiosk pickup order"
                                },
                                {
                                    "key": "order_id",
                                    "value": "",
                                    "description": "The kiosk pickup order ID on the route"
                                }
                            ]
                        },
                        "description": "Query how many receiving packages exist at a kiosk pickup location. The driver must be assigned to the route, the route must not be ended, and the order must be a kiosk pickup order (related_order_type = 6)."
                    },
                    "response": []
                },
                {
                    "name": "Scan and receive an awaiting-processing package from kiosk receiving area",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/kiosk-receive-package",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "kiosk-receive-package"
                            ]
                        },
                        "description": "Driver scans a code at a kiosk location and receives a single awaiting-processing package from the receiving area onto their vehicle inventory. The driver must be assigned to the route, the route must not be ended, and the order must be a kiosk pickup order (related_order_type = 6). Supports every customer-dropped type: returns, express drop-offs and storage drop-offs. The code may be a return code, a reference number, or the package's own unique code. Plain delivery packages are intentionally excluded."
                    },
                    "response": []
                },
                {
                    "name": "Get packaging types and packagings for the driver's service provider",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/packagings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "packagings"
                            ],
                            "query": [
                                {
                                    "key": "language",
                                    "value": "",
                                    "description": "Language code for translated packaging names (e.g., 'en', 'zh', 'fr'). Defaults to 'en'."
                                }
                            ]
                        },
                        "description": "Returns a list of packaging types with their associated packagings (predefined dimensions). Used in the driver app for selecting packaging when adding/editing items on storage and moving orders. Supports multi-language via the `language` parameter."
                    },
                    "response": []
                },
                {
                    "name": "Get dimension and weight unit mappings",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/unit-mappings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "unit-mappings"
                            ],
                            "query": [
                                {
                                    "key": "language",
                                    "value": "",
                                    "description": "Language code for translated unit labels (e.g., 'en', 'zh', 'fr'). Defaults to 'en'."
                                }
                            ]
                        },
                        "description": "Returns the available dimension units (mm, cm, m, inch) and weight units (g, kg, oz, lb) with translated labels and accuracy values. Used by the driver app to populate unit dropdowns dynamically instead of hardcoding."
                    },
                    "response": []
                },
                {
                    "name": "Driver duty status and pending offers",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/duty",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "duty"
                            ]
                        },
                        "description": "Dispatch Options → driver_duty. Returns whether the feature is enabled for the driver's business, the driver's on-duty state and the auto-assign offers awaiting an answer. With the feature disabled on_duty is always true and pending_offers empty."
                    },
                    "response": []
                },
                {
                    "name": "Go on / off duty",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/duty",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "duty"
                            ]
                        },
                        "description": "Sets the calling driver on or off duty. Only on-duty drivers receive auto-assigned work when the business enabled dispatch_to_on_duty_only. Returns 409 when the feature is disabled for the business.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"on_duty\": false\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Pending auto-assign offers",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/assignments/pending",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "assignments",
                                "pending"
                            ]
                        },
                        "description": "Auto-assigned orders still waiting for the driver's accept / reject (Dispatch Options → driver_duty with require_accept)."
                    },
                    "response": []
                },
                {
                    "name": "Accept an assigned order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/accept",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "accept"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Confirms an auto-assigned order. Accepting work that was planned by a dispatcher is a harmless no-op."
                    },
                    "response": []
                },
                {
                    "name": "Reject an assigned order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/reject",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "reject"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Rejects an auto-assigned order: the work is released back to the pool (instant orders are revoked, route orders removed from the driver's route) and, per the business setting, re-queued to the orchestrator or held for the dispatcher. Rejecting dispatcher-planned work is only recorded (released=false).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reason\": \"Too far away\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Driver earnings summary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/earnings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "earnings"
                            ],
                            "query": [
                                {
                                    "key": "period",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delivered orders, tips collected and an estimate of the pay the business payroll rule yields for the period (opt-in family delivery_tips with driver_earnings_visible; 409 otherwise). period = today | yesterday | week | month | custom (from/to, max 92 days)."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Driver Route Board",
            "item": [
                {
                    "name": "List the Route Boards visible to the driver",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/boards",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "boards"
                            ]
                        },
                        "description": "Boards of the driver's own pool (own fleet, or their contractor's) that are scheduled, open, filled or closed, dated today or later, and whose eligibility the driver passes. Each row carries the seat counts and the driver's own claims on it. A seat-mode (\"Grab a Seat\") board additionally carries capacity / quota_taken / my_pooled / settled."
                    },
                    "response": []
                },
                {
                    "name": "Get one Route Board with its seats",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/boards/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "boards",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "The board ID"
                                }
                            ]
                        },
                        "description": "The board as this driver sees it: every seat with the queue length, the driver's own claim, whether the driver can claim right now and, if not, why (blocked_reason). A board of another pool answers 404. On a seat-mode (\"Grab a Seat\") board data.board.quota describes the pool (capacity, taken, remaining, the caller's pooled claim and whether it can grab now); the seats are then a read-only preview (claimable false, blocked_reason \"seat_mode\") because vehicles are handed out by the dispatcher when the board closes."
                    },
                    "response": []
                },
                {
                    "name": "Claim a seat (route) on a Route Board, or grab a seat on a seat-mode board",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/boards/:id/claim",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "boards",
                                ":id",
                                "claim"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "The board ID"
                                }
                            ]
                        },
                        "description": "Route mode (seat_id required): first come first served. Rank 1 becomes the driver and is put on the vehicle slot immediately; later ranks queue as standby up to the board's standby_limit. Seat mode (\"Grab a Seat\", seat_id optional and ignored): the driver takes the next numbered seat in the board's pool (status pooled, data.capacity = pool size); the dispatcher hands out the vehicles when the board closes. Throttled to 30 requests per minute per user. 409 when the seat is full, already claimed by you, the board is not open, the seat is no longer available, the pool is full or the board is already settled; 422 for a time conflict, the per-driver maximum, eligibility or a bad seat_id (route mode only).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"seat_id\": 41\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Place or lower a bid on a seat of a bid-mode (reverse auction) Route Board",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/boards/:id/bid",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "boards",
                                ":id",
                                "bid"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "The board ID"
                                }
                            ]
                        },
                        "description": "Bid mode only: the driver names the pay they will accept for the route. The lowest bid wins when the board's deadline (closes_at) passes; a bid at or under the seat's instant_price wins immediately (data.awarded = true, the driver is put on the vehicle slot at once). A second bid from the same driver is a revision: it must be lower than the current one by at least the board's min_bid_step, and only when the board allows rebids. On an open board data.lowest is the current lowest bid on the seat (not who); on a sealed board it is null. A new lowest bid inside the anti-snipe window pushes the deadline out — data.closes_at is always the deadline that applies after this bid. Throttled to 30 requests per minute per user. 409 when the board is not open, already settled, the seat is no longer available (awarded) or the board does not allow rebids; 422 for a bid above the ceiling, a revised bid that is not lower by min_bid_step, a non-positive price, a seat that is not on this board, a board that is not in bid mode, or an ineligible driver.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"seat_id\": 61,\n    \"price\": 290\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Withdraw one of your Route Board claims",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/claims/:id/withdraw",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "claims",
                                ":id",
                                "withdraw"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "The claim ID"
                                }
                            ]
                        },
                        "description": "Subject to the board's withdraw policy (allowed / denied / until N hours before the route starts). A standby claim may always be left. When a primary withdraws, the next standby is promoted automatically. 403 when the policy refuses; data.withdraw_deadline then tells until when it was possible (null under the denied policy). A pooled seat (seat mode) may always be given up before the board is settled; the seats behind it move up. A live bid (status bidding) on a bid-mode board may always be retracted before the award."
                    },
                    "response": []
                },
                {
                    "name": "List your Route Board claims",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/claims",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "claims"
                            ],
                            "query": [
                                {
                                    "key": "history",
                                    "value": "",
                                    "description": "1 to include finished claims (default 0)"
                                }
                            ]
                        },
                        "description": "Active claims (pooled / primary / standby) first, then — with history=1 — withdrawn, vetoed, replaced, displaced, skipped, expired and completed ones. Each row says whether it can be withdrawn right now and, for a primary under the until_cutoff policy, the deadline."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "DriverInfo",
            "item": [
                {
                    "name": "get driver info list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driverinfo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driverinfo"
                            ]
                        },
                        "description": "get driver info list"
                    },
                    "response": []
                },
                {
                    "name": "Create a Driver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driverinfo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driverinfo"
                            ]
                        },
                        "description": "Create a Driver",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"alias\": \"driver01\",\n    \"vehicle_type\": \"1 (1: Car, 2: Truck, 3: Motorcycle, 4: Bicycle 5:Pedestrian nullable,default 1)\",\n    \"name\": \"John\",\n    \"password\": \"12345678\",\n    \"email\": \"join@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"address\": \"demo (nullable)\",\n    \"address_2\": \"demo (nullable)\",\n    \"city\": \"demo (nullable)\",\n    \"province\": \"demo (nullable)\",\n    \"country\": \"CA (nullable)\",\n    \"postcode\": \"H0H0H0 (nullable)\",\n    \"language\": \"en\",\n    \"capacity\": null,\n    \"territory_id\": null,\n    \"start_location_id\": null,\n    \"end_location_id\": null,\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "update driver by id",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driverinfo/:driver_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driverinfo",
                                ":driver_id"
                            ],
                            "variable": [
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "update driver by id",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"driver003_1\",\n    \"alias\": \"alias0003_1\",\n    \"email\": \"driver003@example.com\",\n    \"vehicle_type\": \"1 (1: Car, 2: Truck, 3: Motorcycle, 4: Bicycle 5:Pedestrian nullable,default 1)\",\n    \"password\": \"12345678\",\n    \"telephone\": \"5140000003\",\n    \"start_location_id\": 1,\n    \"end_location_id\": 1,\n    \"language\": \"en\",\n    \"capacity\": 60,\n    \"territory_id\": 1,\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "delete driver",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driverinfo/:driver_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driverinfo",
                                ":driver_id"
                            ],
                            "variable": [
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "delete driver"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "InstantRider",
            "item": [
                {
                    "name": "List the rider's Instant Deliver orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "Optional calendar date (rider timezone)"
                                }
                            ]
                        },
                        "description": "In-progress instant orders assigned to the authenticated rider. Pass ?date=YYYY-MM-DD to list that day's orders (including completed); omit for the current active set."
                    },
                    "response": []
                },
                {
                    "name": "List claimable pool orders (incremental)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/available-orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "available-orders"
                            ],
                            "query": [
                                {
                                    "key": "since",
                                    "value": "",
                                    "description": "ISO time cursor from a previous meta.server_time"
                                }
                            ]
                        },
                        "description": "Dispatch-pool instant orders the rider may self-claim, filtered by the rider's channel/zone bindings. Pass ?since=<server_time from a previous meta> to poll only newly pooled orders; use the returned meta.server_time as the next cursor."
                    },
                    "response": []
                },
                {
                    "name": "List business failure reasons",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/failure-reasons",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "failure-reasons"
                            ]
                        },
                        "description": "The business's configured failure/return reasons, for use with the fail endpoint."
                    },
                    "response": []
                },
                {
                    "name": "Get one of the rider orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Full detail of an instant order assigned to the authenticated rider."
                    },
                    "response": []
                },
                {
                    "name": "Self-claim a pool order (\"抢单\")",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId/claim",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId",
                                "claim"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Atomically take a Waiting-for-Assignment order. Loses cleanly (409) to the dispatch console, auto-dispatch, or another rider."
                    },
                    "response": []
                },
                {
                    "name": "Start pickup",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId/start-pickup",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId",
                                "start-pickup"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark that the rider is heading to / at the pickup point (stage → picking_up)."
                    },
                    "response": []
                },
                {
                    "name": "Complete pickup",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId/complete-pickup",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId",
                                "complete-pickup"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark the parcel collected (stage → picked_up)."
                    },
                    "response": []
                },
                {
                    "name": "Start delivery",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId/start-delivery",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId",
                                "start-delivery"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark the rider en route to the dropoff (stage → delivering)."
                    },
                    "response": []
                },
                {
                    "name": "Complete delivery",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId/complete-delivery",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId",
                                "complete-delivery"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark the order delivered (stage → delivered). Triggers customer delivered notifications."
                    },
                    "response": []
                },
                {
                    "name": "Fail the current leg",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/orders/:orderId/fail",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "orders",
                                ":orderId",
                                "fail"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark the current leg failed; the order leaves the rider flow for the dispatcher (stage → failed). Triggers customer failure notifications."
                    },
                    "response": []
                },
                {
                    "name": "Go online (take work)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/online",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "online"
                            ]
                        },
                        "description": "Mark the rider online. Online riders are eligible for auto-dispatch and the new-order push; offline pauses both."
                    },
                    "response": []
                },
                {
                    "name": "Go offline (pause work)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/offline",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "offline"
                            ]
                        },
                        "description": "Mark the rider offline; auto-dispatch and new-order push skip them."
                    },
                    "response": []
                },
                {
                    "name": "Current online state",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/rider/status",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "rider",
                                "status"
                            ]
                        },
                        "description": "Current online state"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Inventories",
            "item": [
                {
                    "name": "Search package by given package id/package ref/tracking/externalTracking/Inventory Ref",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/search-package",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "search-package"
                            ],
                            "query": [
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "package id/package ref/tracking/externalTracking/Inventory Ref"
                                },
                                {
                                    "key": "route_driver_id",
                                    "value": "",
                                    "description": "search package by in specific route driver id"
                                },
                                {
                                    "key": "forinstock",
                                    "value": "",
                                    "description": "check order status could be instock or not (default: false)"
                                }
                            ]
                        },
                        "description": "Search package by given package id/package ref/tracking/externalTracking/Inventory Ref"
                    },
                    "response": []
                },
                {
                    "name": "Receive package by given orderId/ref/tracking/externalTracking/Inventory Ref",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/receive-package",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "receive-package"
                            ]
                        },
                        "description": "Receive package by given orderId/ref/tracking/externalTracking/Inventory Ref",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"search\": \"demo\",\n    \"warehouse_id\": null,\n    \"third_party_action\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Package outbound by given orderId/ref/tracking/externalTracking",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/package-outbound",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "package-outbound"
                            ]
                        },
                        "description": "Mark a package as outbound. Only orders with status 'In Transit' can be marked as outbound.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"search\": \"TRACK123\",\n    \"warehouse_id\": 5\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "stock in by given orderId/ref/tracking/externalTracking/Inventory Ref",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/stockin",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "stockin"
                            ]
                        },
                        "description": "stock in by given orderId/ref/tracking/externalTracking/Inventory Ref",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"data\": [\n        {\n            \"grid_code\": \"GC001\",\n            \"inventory_id\": null,\n            \"tracking_number\": null,\n            \"external_tracking_number\": \"TRK001\",\n            \"inventory_type\": 1,\n            \"inventory_ref\": \"RefA\",\n            \"quantity\": 10\n        },\n        {\n            \"grid_code\": \"GC002\",\n            \"inventory_id\": null,\n            \"tracking_number\": \"TRK002\",\n            \"external_tracking_number\": null,\n            \"inventory_type\": 1,\n            \"inventory_ref\": \"RefB\",\n            \"quantity\": 20\n        }\n    ],\n    \"warehouse_id\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "stock out by given orderId/ref/tracking/externalTracking/Inventory Ref",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/stockout",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "stockout"
                            ]
                        },
                        "description": "stock out by given orderId/ref/tracking/externalTracking/Inventory Ref",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"search\": \"demo\",\n    \"route_driver_id\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get driver stock out list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/stockoutlist/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "stockoutlist",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get driver stock out list"
                    },
                    "response": []
                },
                {
                    "name": "Stock levels per product / variant",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/stock-levels",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "stock-levels"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Filter to one warehouse (addressbook id, must belong to the business). Omit to sum across all warehouses."
                                },
                                {
                                    "key": "product_id",
                                    "value": "",
                                    "description": "Filter by product id"
                                },
                                {
                                    "key": "product_variant_id",
                                    "value": "",
                                    "description": "Filter by product variant id"
                                },
                                {
                                    "key": "sku",
                                    "value": "",
                                    "description": "Filter by SKU (resolved to catalogue ids)"
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Search by SKU or product name"
                                },
                                {
                                    "key": "in_stock_only",
                                    "value": "",
                                    "description": "Only rows with available quantity > 0"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Page size (1-200, default 50)"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number"
                                }
                            ]
                        },
                        "description": "Lists every catalogue product / variant for the business (a product with no stock returns zeros). Quantities come from real physical WMS inventory in the inventories table. Without warehouse_id they are summed across all warehouses; with warehouse_id they reflect that warehouse only. Scoped to the authenticated business."
                    },
                    "response": []
                },
                {
                    "name": "find route by given order id/ref/tracking/externalTracking/Inventory Ref",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/findroutebypackage",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "findroutebypackage"
                            ]
                        },
                        "description": "find route by given order id/ref/tracking/externalTracking/Inventory Ref",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"search\": \"demo\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Unified package activity log",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/package-activity",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "package-activity"
                            ],
                            "query": [
                                {
                                    "key": "reference",
                                    "value": "",
                                    "description": "Search by reference (delivery_no / inventory code / pickup code)."
                                },
                                {
                                    "key": "source",
                                    "value": "",
                                    "description": "1=carrier upload, 2=partner locker."
                                },
                                {
                                    "key": "subject_type",
                                    "value": "",
                                    "description": "1=carrier package (inventory), 2=partner delivery."
                                },
                                {
                                    "key": "subject_id",
                                    "value": "",
                                    "description": "Inventory id or partner delivery id."
                                },
                                {
                                    "key": "event_type",
                                    "value": "",
                                    "description": "Filter events by type (e.g. stocked_in, notified, delivered)."
                                },
                                {
                                    "key": "channel",
                                    "value": "",
                                    "description": "Filter messages by channel (in_app / sms / email / webhook)."
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Filter messages by status (1=pending,2=sent,3=failed,4=skipped)."
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Page size for each list (1-100, default 50)."
                                }
                            ]
                        },
                        "description": "Operation events and message-sending records across carrier-upload and partner-locker packages. Internal accounts (client/admin/employee) see all packages of their business; partner accounts see only their providers; customer accounts see only their own packages. Recipient contact appears only as a mask."
                    },
                    "response": []
                },
                {
                    "name": "Batch stock-in carrier packages to staging area",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/carrier-staging-stockin",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "carrier-staging-stockin"
                            ]
                        },
                        "description": "Batch import carrier packages into the staging area (or directly to a grid if grid_code is provided). Accessible by client, admin, employee, partner, and customer users. Customer users require a carrier upload authorization (per carrier + warehouse) and warehouse_id is required. For customer users, grid_code is ignored and all items are placed in the staging area. The warehouse_id must be within the user's authorized scope. Maximum 1000 items per request. Multi-package orders (optional): set group_by_order=true and rows of the same request that share a non-empty carrier_order_id are tied into one pickup group with a shared group pickup code; each package keeps its own pickup code as well. Grouping is scoped to the request — the same carrier_order_id in a later request starts a new group. The group code opens/collects every package of the order that has been shelved at the receiving warehouse, and it is the code the recipient receives in the pickup notification.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"carrier_id\": 1,\n    \"warehouse_id\": 10,\n    \"data\": [\n        {\n            \"member_number\": \"MEM001\",\n            \"carrier_reference_number\": \"CRN001\",\n            \"carrier_order_id\": \"COD001\",\n            \"batch\": \"BATCH001\",\n            \"ref\": \"REF001\",\n            \"grid_code\": \"\",\n            \"recipient_phone\": \"+14165550123\",\n            \"recipient_email\": \"recipient@example.com\"\n        },\n        {\n            \"member_number\": \"MEM002\",\n            \"carrier_reference_number\": \"CRN002\",\n            \"carrier_order_id\": \"\",\n            \"batch\": \"\",\n            \"ref\": \"REF002\",\n            \"grid_code\": \"A-01-01\"\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Answer the third-party receive decision left open by an unattended receive",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/inventories/receive-decision",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "inventories",
                                "receive-decision"
                            ]
                        },
                        "description": "Unattended receives (CSV inventory import, batch receive, API callers that send no third_party_action) keep the carrier and park the order at Waiting Third Party Handover, then raise a receive_decision_pending alert. This endpoint answers it. Idempotent: once the assignment no longer holds the order, the call reports the current state instead of acting again.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"assignment_no\": \"TPD20260805052757QZVP4E\",\n    \"action\": \"withdraw_self\",\n    \"note\": \"Parcel returned to our warehouse\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "LabelService",
            "item": [
                {
                    "name": "get rate",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/rate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "rate"
                            ]
                        },
                        "description": "get rate",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"postcode\": \"H4E3R3\",\n    \"address_1\": \"6701 RUE HADLEY\",\n    \"address_2\": \"123\",\n    \"address_type\": 1,\n    \"combine_address\": true,\n    \"buzz_code\": \"9393\",\n    \"ref\": \"API001\",\n    \"city\": \"Montreal\",\n    \"province\": \"QC\",\n    \"country\": \"CA\",\n    \"name\": \"John\",\n    \"company_name\": \"HELLO WORLD\",\n    \"email\": \"join@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"note\": \"customer note\",\n    \"weight\": 1,\n    \"length\": 1,\n    \"width\": 1,\n    \"height\": 1,\n    \"dimension_unit\": 1,\n    \"weight_unit\": 1,\n    \"signature_option\": 1,\n    \"insurance_option\": 1,\n    \"package_value\": 200,\n    \"insurance_value\": 200,\n    \"package_ref\": 20311,\n    \"package_note\": \"Package Note\",\n    \"items\": [\n        {\n            \"name\": \"Product 1\",\n            \"quantity\": 1,\n            \"unit_price\": 1.48,\n            \"origin\": \"CA\",\n            \"weight\": 1000,\n            \"currency\": \"CAD\",\n            \"unit\": \"PCS\",\n            \"sku\": \"SKU001\",\n            \"barcode\": \"1231231243\",\n            \"hscode\": \"8009201332\",\n            \"description\": \"Product 1 description\"\n        }\n    ],\n    \"packages\": [\n        {\n            \"ref\": 20311,\n            \"weight\": 1000,\n            \"length\": 300,\n            \"width\": 200,\n            \"height\": 100,\n            \"dimension_unit\": 1,\n            \"weight_unit\": 1,\n            \"package_value\": 200,\n            \"insurance_value\": 200,\n            \"external_tracking_number\": \"123456789\",\n            \"items\": [\n                {\n                    \"name\": \"Product 1\",\n                    \"quantity\": 1,\n                    \"unit_price\": 1.48,\n                    \"origin\": \"CA\",\n                    \"weight\": 1000,\n                    \"currency\": \"CAD\",\n                    \"unit\": \"PCS\",\n                    \"sku\": \"SKU001\",\n                    \"barcode\": \"1231231243\",\n                    \"hscode\": \"8009201332\",\n                    \"description\": \"Product 1 description\"\n                }\n            ]\n        }\n    ],\n    \"schedule_date\": \"2021-04-05 00:00:00\",\n    \"notification_language\": \"en\",\n    \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n    \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n    \"sender_name\": \"test\",\n    \"sender_address_1\": \"6701 RUE HADLEY\",\n    \"sender_address_2\": \"\",\n    \"sender_address_type\": 1,\n    \"sender_postcode\": \"H4E3R3\",\n    \"sender_city\": \"Montreal\",\n    \"sender_province\": \"QC\",\n    \"sender_country\": \"CA\",\n    \"sender_company_name\": \"Super Route\",\n    \"sender_email\": \"info@gmail.com\",\n    \"sender_telephone\": \"666666666\",\n    \"sender_buzz_code\": \"5151\",\n    \"shipping_method\": 59,\n    \"paid_by\": 2,\n    \"account_number\": \"123456789\",\n    \"account_country\": \"US\",\n    \"account_postcode\": \"12001\",\n    \"package_type\": \"parcel\",\n    \"order_batch\": \"2021-08-23\",\n    \"external_order_id\": \"123456789\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "submit a new label order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/submitOrder",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "submitOrder"
                            ]
                        },
                        "description": "submit a new label order",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"postcode\": \"92660\",\n    \"address_1\": \"3100 Irvine Ave\",\n    \"address_2\": \"123\",\n    \"address_type\": 1,\n    \"combine_address\": true,\n    \"buzz_code\": \"9393\",\n    \"ref\": \"API001\",\n    \"order_code\": \"ABC\",\n    \"city\": \"Newport Beach\",\n    \"province\": \"CA\",\n    \"country\": \"US\",\n    \"name\": \"John\",\n    \"company_name\": \"HELLO WORLD\",\n    \"email\": \"join@gmail.com\",\n    \"telephone\": \"5555555555\",\n    \"note\": \"customer note\",\n    \"weight\": 1,\n    \"length\": 1,\n    \"width\": 1,\n    \"height\": 1,\n    \"dimension_unit\": 1,\n    \"weight_unit\": 1,\n    \"signature_option\": 1,\n    \"insurance_option\": 1,\n    \"package_value\": 200,\n    \"insurance_value\": 200,\n    \"package_ref\": 20311,\n    \"package_note\": \"Package Note\",\n    \"items\": [\n        {\n            \"name\": \"Product 1\",\n            \"quantity\": 1,\n            \"unit_price\": 1.48,\n            \"origin\": \"CA\",\n            \"weight\": 1000,\n            \"currency\": \"CAD\",\n            \"unit\": \"PCS\",\n            \"sku\": \"SKU001\",\n            \"barcode\": \"1231231243\",\n            \"hscode\": \"8009201332\",\n            \"description\": \"Product 1 description\"\n        }\n    ],\n    \"packages\": [\n        {\n            \"ref\": 20311,\n            \"weight\": 1000,\n            \"length\": 300,\n            \"width\": 200,\n            \"height\": 100,\n            \"dimension_unit\": 1,\n            \"weight_unit\": 1,\n            \"package_value\": 200,\n            \"insurance_value\": 200,\n            \"external_tracking_number\": \"123456789\",\n            \"items\": [\n                {\n                    \"name\": \"Product 1\",\n                    \"quantity\": 1,\n                    \"unit_price\": 1.48,\n                    \"origin\": \"CA\",\n                    \"weight\": 1000,\n                    \"currency\": \"CAD\",\n                    \"unit\": \"PCS\",\n                    \"sku\": \"SKU001\",\n                    \"barcode\": \"1231231243\",\n                    \"hscode\": \"8009201332\",\n                    \"description\": \"Product 1 description\"\n                }\n            ]\n        }\n    ],\n    \"export_reason\": 1,\n    \"schedule_date\": \"2021-04-05 00:00:00\",\n    \"notification_language\": \"en\",\n    \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n    \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n    \"sender_name\": \"test\",\n    \"sender_address_1\": \"6701 RUE HADLEY\",\n    \"sender_address_2\": \"\",\n    \"sender_address_type\": 1,\n    \"sender_postcode\": \"H4E3R3\",\n    \"sender_city\": \"Montreal\",\n    \"sender_province\": \"QC\",\n    \"sender_country\": \"CA\",\n    \"sender_company_name\": \"Super Route\",\n    \"sender_email\": \"info@gmail.com\",\n    \"sender_telephone\": \"666666666\",\n    \"sender_buzz_code\": \"5151\",\n    \"shipping_method\": 2,\n    \"paid_by\": 2,\n    \"account_number\": \"123456789\",\n    \"account_country\": \"US\",\n    \"account_postcode\": \"12001\",\n    \"package_type\": \"parcel\",\n    \"order_batch\": \"2021-08-23\",\n    \"external_order_id\": \"123456789\",\n    \"auto_deduplication\": 1,\n    \"related_order_type\": 1,\n    \"related_order_id\": 12345,\n    \"carriers\": [\n        \"usps\"\n    ],\n    \"services\": [\n        \"usps_priority_mail\",\n        \"usps_priority_mail_express\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get Shipping Detail By Order ID or Tracking Number or Third Party Tracking Number",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/getShippingDetail",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "getShippingDetail"
                            ]
                        },
                        "description": "get Shipping Detail By Order ID or Tracking Number or Third Party Tracking Number",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 12708,\n    \"type\": \"ORDER_ID (optional, default option:ORDER_ID,options: ORDER_ID,TRACKING_NUMBER,THIRD_PARTY_TRACKING_NUMBER)\",\n    \"rate_id\": \"rat_xxxx   (optional)\",\n    \"warehouse_code\": \"test (optional,but if you want sync this order to warehouse, must be fill warehouse_code,carrier,service)\",\n    \"carrier\": \"fedex test (optional,but if you want sync this order to warehouse, must be fill warehouse_code,carrier,service)\",\n    \"service\": \"express test (optional,but if you want sync this order to warehouse, must be fill warehouse_code,carrier,service)\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "cancel Shipping Label",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/cancelShippingLabel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "cancelShippingLabel"
                            ]
                        },
                        "description": "cancel Shipping Label",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 17832\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "POST /v1/labelservice/uploadShippingLabel",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/uploadShippingLabel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "uploadShippingLabel"
                            ]
                        },
                        "description": ""
                    },
                    "response": []
                },
                {
                    "name": "download Shipping Label pdf by Order ID or Tracking Number or Third Party Tracking Number",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/getShippingLabel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "getShippingLabel"
                            ]
                        },
                        "description": "download Shipping Label pdf by Order ID or Tracking Number or Third Party Tracking Number",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 17341,\n    \"type\": \"ORDER_ID (optional, default option:ORDER_ID)\",\n    \"rate_id\": \"rat_xxxx   (optional)\",\n    \"base64\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get Shipping Method List",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/getShippingMethodList",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "getShippingMethodList"
                            ]
                        },
                        "description": "get Shipping Method List",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 8,\n    \"detail\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "submit all shipping information to 3rd party carriers",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/endofday",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "endofday"
                            ]
                        },
                        "description": "submit all shipping information to 3rd party carriers"
                    },
                    "response": []
                },
                {
                    "name": "Submit shipping information for one or multiple orders",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/labelservice/submitShippingInformation",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "labelservice",
                                "submitShippingInformation"
                            ]
                        },
                        "description": "Submit shipping information for one or multiple orders",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"ids\": 12345\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Loading Planner",
            "item": [
                {
                    "name": "List loading plans",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List loading plans"
                    },
                    "response": []
                },
                {
                    "name": "Create a loading plan",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans"
                            ]
                        },
                        "description": "Create a loading plan",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"July sea shipment\",\n    \"reference\": \"LP-2026-001\",\n    \"loading_method\": \"direct_container\",\n    \"leftover_policy\": \"allow_loose\",\n    \"unloading_mode\": \"none\",\n    \"loading_direction\": \"rear_to_front\",\n    \"rehandle_penalty\": 25,\n    \"container_preset\": \"40hc\",\n    \"container_inner_length_cm\": 1203.2,\n    \"container_inner_width_cm\": 235.2,\n    \"container_inner_height_cm\": 269.8,\n    \"container_max_payload_kg\": 26500,\n    \"container_quantity_limit\": 5,\n    \"target_utilization_percent\": 85\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get a loading plan with items and equipment summary",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get a loading plan with items and equipment summary"
                    },
                    "response": []
                },
                {
                    "name": "Update a loading plan",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update a loading plan",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"July sea shipment\",\n    \"reference\": \"LP-2026-001\",\n    \"loading_method\": \"direct_container\",\n    \"leftover_policy\": \"allow_loose\",\n    \"unloading_mode\": \"none\",\n    \"loading_direction\": \"rear_to_front\",\n    \"rehandle_penalty\": 25,\n    \"container_preset\": \"40hc\",\n    \"container_inner_length_cm\": 1203.2,\n    \"container_inner_width_cm\": 235.2,\n    \"container_inner_height_cm\": 269.8,\n    \"container_max_payload_kg\": 26500,\n    \"container_quantity_limit\": 5,\n    \"target_utilization_percent\": 85\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete a loading plan",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a loading plan"
                    },
                    "response": []
                },
                {
                    "name": "List cargo items of a loading plan",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/items",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "items"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List cargo items of a loading plan"
                    },
                    "response": []
                },
                {
                    "name": "Add a cargo item to a loading plan",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/items",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "items"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Add a cargo item to a loading plan",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"external_item_id\": \"PO-88-LINE-1\",\n    \"name\": \"Carton of spare parts\",\n    \"sku\": \"SKU-1001\",\n    \"packaging_type\": \"carton\",\n    \"cargo_form\": \"loose\",\n    \"orientation\": \"any\",\n    \"quantity\": 120,\n    \"length_cm\": 60,\n    \"width_cm\": 40,\n    \"height_cm\": 40,\n    \"weight_kg\": 12.5,\n    \"can_rotate\": true,\n    \"stackable\": true,\n    \"max_stack_layers\": 4\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update a loading plan cargo item",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/items/:item",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "items",
                                ":item"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "item",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update a loading plan cargo item",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"external_item_id\": \"PO-88-LINE-1\",\n    \"name\": \"Carton of spare parts\",\n    \"sku\": \"SKU-1001\",\n    \"packaging_type\": \"carton\",\n    \"cargo_form\": \"loose\",\n    \"orientation\": \"any\",\n    \"quantity\": 120,\n    \"length_cm\": 60,\n    \"width_cm\": 40,\n    \"height_cm\": 40,\n    \"weight_kg\": 12.5,\n    \"can_rotate\": true,\n    \"stackable\": true,\n    \"max_stack_layers\": 4\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete a loading plan cargo item",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/items/:item",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "items",
                                ":item"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "item",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a loading plan cargo item"
                    },
                    "response": []
                },
                {
                    "name": "Get equipment, cargo spaces, and volume policy",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/equipment",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "equipment"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get equipment, cargo spaces, and volume policy"
                    },
                    "response": []
                },
                {
                    "name": "Replace equipment, cargo spaces, and volume policy",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/equipment",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "equipment"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Replace equipment, cargo spaces, and volume policy",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"expected_input_revision\": 1,\n    \"transport_mode\": \"road\",\n    \"volume_profile\": \"route_legacy\",\n    \"volume_display_unit\": \"l\",\n    \"volume_denominator\": \"effective_usable\",\n    \"volume_rounding_mode\": \"floor\",\n    \"volume_rounding_precision\": 0,\n    \"equipments\": [\n        {\n            \"code\": \"VEHICLE-1\",\n            \"name\": \"Road vehicle\",\n            \"equipment_kind\": \"vehicle\",\n            \"quantity\": 1,\n            \"sequence\": 1,\n            \"spaces\": [\n                {\n                    \"code\": \"MAIN\",\n                    \"name\": \"Main cargo space\",\n                    \"quantity\": 1,\n                    \"sequence\": 1,\n                    \"inner_length_cm\": 600,\n                    \"inner_width_cm\": 240,\n                    \"inner_height_cm\": 240,\n                    \"corner_cm\": null,\n                    \"max_payload_kg\": 5000,\n                    \"volume_utilization_percent\": 85,\n                    \"capacity_override_m3\": null,\n                    \"access_face\": \"x_min\"\n                }\n            ]\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get unload sequence settings",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/unload-sequence",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "unload-sequence"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get unload sequence settings"
                    },
                    "response": []
                },
                {
                    "name": "Replace unload sequence settings",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/unload-sequence",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "unload-sequence"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Replace unload sequence settings"
                    },
                    "response": []
                },
                {
                    "name": "Queue an independent container loading solve",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/solve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "solve"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Queue an independent container loading solve",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"candidate_limit\": 3,\n    \"callback_url\": \"https://events.example.com/loading-plan\",\n    \"callback_secret\": \"replace-with-at-least-32-characters\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get solve status and progress",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/solve-runs/:run",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "solve-runs",
                                ":run"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "run",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get solve status and progress"
                    },
                    "response": []
                },
                {
                    "name": "Cancel a queued or solving run",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/solve-runs/:run/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "solve-runs",
                                ":run",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "run",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancel a queued or solving run"
                    },
                    "response": []
                },
                {
                    "name": "List independently validated candidates",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/solve-runs/:run/candidates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "solve-runs",
                                ":run",
                                "candidates"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "run",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List independently validated candidates"
                    },
                    "response": []
                },
                {
                    "name": "Get candidate placements, 3D scene data, and unplaced reasons",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/solve-runs/:run/candidates/:candidate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "solve-runs",
                                ":run",
                                "candidates",
                                ":candidate"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "run",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "candidate",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get candidate placements, 3D scene data, and unplaced reasons"
                    },
                    "response": []
                },
                {
                    "name": "Finalize a validated candidate",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/solve-runs/:run/candidates/:candidate/finalize",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "solve-runs",
                                ":run",
                                "candidates",
                                ":candidate",
                                "finalize"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "run",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "candidate",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Finalize a validated candidate",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"candidate_checksum\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"acknowledge_warnings\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get the finalized independent container loading plan",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/loading-plans/:plan/final-plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "loading-plans",
                                ":plan",
                                "final-plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get the finalized independent container loading plan"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Locker Storage",
            "item": [
                {
                    "name": "List short-term locker storage rentals",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/locker-storage/rentals",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "locker-storage",
                                "rentals"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "active | overdue | pending_clearance | completed | cleared | cancelled"
                                },
                                {
                                    "key": "occupying",
                                    "value": "",
                                    "description": "Only rentals still holding a compartment"
                                },
                                {
                                    "key": "warehouseId",
                                    "value": "",
                                    "description": "Location id"
                                },
                                {
                                    "key": "shelfId",
                                    "value": "",
                                    "description": "Cabinet id"
                                },
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Start date (YYYY-MM-DD)"
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "End date (YYYY-MM-DD)"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number, from 1"
                                },
                                {
                                    "key": "perPage",
                                    "value": "",
                                    "description": "Page size, maximum 100"
                                }
                            ]
                        },
                        "description": "Rentals of the authenticated caller's own business. Read-only: a rental begins and ends at a physical door, so nothing here opens one. The renter's phone number and e-mail address are deliberately not returned."
                    },
                    "response": []
                },
                {
                    "name": "Get one short-term locker storage rental",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/locker-storage/rentals/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "locker-storage",
                                "rentals",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Rental id"
                                }
                            ]
                        },
                        "description": "A single rental of the caller's own business, with its event timeline. A rental belonging to anybody else answers 404, not 403 — the caller learns nothing about whether that id exists."
                    },
                    "response": []
                },
                {
                    "name": "Short-term locker storage figures for a period",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/locker-storage/report",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "locker-storage",
                                "report"
                            ],
                            "query": [
                                {
                                    "key": "from",
                                    "value": "",
                                    "description": "Start date (YYYY-MM-DD)"
                                },
                                {
                                    "key": "to",
                                    "value": "",
                                    "description": "End date (YYYY-MM-DD)"
                                }
                            ]
                        },
                        "description": "Rentals, collections, overdue count, average stay and the amount actually charged, broken out by location. The money figure is the total taken from renters — it is not a share, a split or a settlement figure. Defaults to the last 30 days."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "OCR",
            "item": [
                {
                    "name": "Extract scan codes (barcodes and QR codes) from images, PDFs, or ZIP archives",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ocr/scan-codes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ocr",
                                "scan-codes"
                            ]
                        },
                        "description": "Accepts an uploaded file (image, PDF, or ZIP archive) and extracts all barcodes and QR codes using the ImageHelper scan code extraction method."
                    },
                    "response": []
                },
                {
                    "name": "Parse route list pages from delivery application screenshots using AI/OCR",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ocr/parse-route-list",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ocr",
                                "parse-route-list"
                            ]
                        },
                        "description": "Accepts an uploaded file (image, PDF, or ZIP archive) containing delivery route list screenshots and uses AI to extract structured route information including tracking number, recipient name, stop number, route identifier, and structured address information (address_1, address_2, city, province, country, postcode)."
                    },
                    "response": []
                },
                {
                    "name": "Parse shipping label via OCR",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ocr/label",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ocr",
                                "label"
                            ]
                        },
                        "description": "Accepts an uploaded file (image, PDF, HEIC, WebP, or archive) and extracts shipping label fields."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "OTEP",
            "item": [
                {
                    "name": "Get the OTEP tracking timeline for a tracking number",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/otep/trackings/:trackingNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "otep",
                                "trackings",
                                ":trackingNumber"
                            ],
                            "query": [
                                {
                                    "key": "format",
                                    "value": "",
                                    "description": "Output format (default otep)"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "The tracking number to look up"
                                }
                            ]
                        },
                        "description": "Public endpoint. Returns the unified OTEP event timeline across self-delivery, third-party and carrier sources. Use ?format=epcis|onerecord|uncefact (or an Accept profile) to project to an external standard; default is native OTEP."
                    },
                    "response": []
                },
                {
                    "name": "Get only the OTEP events for a tracking number",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/otep/trackings/:trackingNumber/events",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "otep",
                                "trackings",
                                ":trackingNumber",
                                "events"
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "The tracking number to look up"
                                }
                            ]
                        },
                        "description": "Get only the OTEP events for a tracking number"
                    },
                    "response": []
                },
                {
                    "name": "Get OTEP timelines for many tracking numbers in one call",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/otep/trackings/batch",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "otep",
                                "trackings",
                                "batch"
                            ]
                        },
                        "description": "Get OTEP timelines for many tracking numbers in one call"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Operations AI Agent",
            "item": [
                {
                    "name": "List operations AI agent conversations",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ai-ops/conversations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ai-ops",
                                "conversations"
                            ],
                            "query": [
                                {
                                    "key": "surface",
                                    "value": "",
                                    "description": "console | tracking | suggestion"
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "open | closed"
                                },
                                {
                                    "key": "order_id",
                                    "value": "",
                                    "description": "Only conversations attached to this order"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Rows per page (max 100)"
                                }
                            ]
                        },
                        "description": "Conversations of the authenticated business (console assistant, tracking-page care agent, suggestions), newest first, with today's turn usage. Contractor (broker) accounts only see their own."
                    },
                    "response": []
                },
                {
                    "name": "Start an operations AI agent conversation",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ai-ops/conversations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ai-ops",
                                "conversations"
                            ]
                        },
                        "description": "Opens a console conversation. With `message`, the first turn is answered in the same call: the agent may call the User MCP read tools (personal data masked) and propose writes through propose_write — a proposal becomes a pending row on /mcp-approvals and is never executed by the agent.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"title\": \"Morning check\",\n    \"order_id\": null,\n    \"message\": \"Which orders on today's routes are already late?\",\n    \"lang\": \"en\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "One conversation with its transcript",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ai-ops/conversations/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ai-ops",
                                "conversations",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The conversation plus every message: user turns, tool rounds (tool_calls / tool_results, personal data masked) and assistant answers, with the approval id created whenever the agent proposed a change."
                    },
                    "response": []
                },
                {
                    "name": "Send a message to a conversation",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ai-ops/conversations/:id/messages",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ai-ops",
                                "conversations",
                                ":id",
                                "messages"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "One user turn in an open console conversation. The answer comes back with the tool calls made and the approval ids of any proposed change (propose_write → McpWriteApproval, reviewed on /mcp-approvals). Never executes a write.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"message\": \"Cancel order 5551, the customer called.\",\n    \"lang\": \"en\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "AI dispatcher suggestions (advice only)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/ai-ops/suggestions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "ai-ops",
                                "suggestions"
                            ],
                            "query": [
                                {
                                    "key": "refresh",
                                    "value": "",
                                    "description": "Bypass the 5-minute cache"
                                },
                                {
                                    "key": "lang",
                                    "value": "",
                                    "description": "Language of the phrased suggestions (app locale code)"
                                }
                            ]
                        },
                        "description": "Prioritised suggestions computed from live signals — undelivered stops past their time window, on-duty drivers with no open work, unassigned backlog older than the configured threshold, failed stops today — phrased by the model and cached 5 minutes per business. Each `proposed_action` is a propose_write payload the caller may submit for human approval; nothing is executed automatically. Requires the family's dispatch_suggestions switch."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Order Chat",
            "item": [
                {
                    "name": "Order chat thread (dispatcher view)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/chat",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "chat"
                            ],
                            "query": [
                                {
                                    "key": "since_id",
                                    "value": "",
                                    "description": "Only messages with an id greater than this"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Messages, unread counters and participants of one of your orders' chat threads. The thread is created lazily. Use `since_id` to poll for newer messages."
                    },
                    "response": []
                },
                {
                    "name": "Send a dispatcher message into an order chat",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/chat",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "chat"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Posts a message into the order's thread. `audience` narrows delivery to `driver` or `customer` (default `all` = everyone the option allows). Send an image either as multipart `attachment` or as `attachment_base64` (jpeg/png/webp/gif, max 5 MB by default). Locked threads answer 409 with `locked: true`. Throttled 60/min.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"body\": \"Please call the customer before arriving\",\n    \"audience\": \"driver\",\n    \"attachment_base64\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Mark an order chat as read (dispatcher)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/chat/read",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "chat",
                                "read"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Stamps read_at_dispatcher on every message and clears the dispatcher unread counter."
                    },
                    "response": []
                },
                {
                    "name": "Order chat inbox",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/order-chat/inbox",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "order-chat",
                                "inbox"
                            ],
                            "query": [
                                {
                                    "key": "unread_only",
                                    "value": "",
                                    "description": "Only conversations with unread messages for the dispatcher"
                                },
                                {
                                    "key": "q",
                                    "value": "",
                                    "description": "Search by order ref, tracking number or recipient name"
                                },
                                {
                                    "key": "driver_id",
                                    "value": "",
                                    "description": "Only orders assigned to this driver"
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": "Rows (default 50, max 200)"
                                }
                            ]
                        },
                        "description": "Recent conversations of your business with unread counters and the last message, most recent first."
                    },
                    "response": []
                },
                {
                    "name": "Order chat thread (driver view)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/chat",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "chat"
                            ],
                            "query": [
                                {
                                    "key": "since_id",
                                    "value": "",
                                    "description": "Only messages with an id greater than this"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Chat thread of one of the calling driver's assigned orders: only messages delivered to the driver. Orders not assigned to the caller answer 404. Requires the `driver_chat` switch of the option."
                    },
                    "response": []
                },
                {
                    "name": "Send a driver message into an order chat",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/chat",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "chat"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Posts a driver message into the thread of one of the caller's assigned orders. Reaches the dispatcher, and the customer too when `driver_to_customer` is on. Image as multipart `attachment` or `attachment_base64`. Throttled 60/min.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"body\": \"On my way\",\n    \"attachment_base64\": null\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Mark an order chat as read (driver)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/orders/:orderId/chat/read",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "orders",
                                ":orderId",
                                "chat",
                                "read"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Stamps read_at_driver on every message delivered to the driver and clears the driver unread counter."
                    },
                    "response": []
                },
                {
                    "name": "Driver unread chat counters",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/driver/chat/unread",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "driver",
                                "chat",
                                "unread"
                            ]
                        },
                        "description": "Per-order unread chat message counters for the calling driver's assigned orders. Answers 409 with `feature_enabled: false` while the option (or its `driver_chat` switch) is off."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Orders",
            "item": [
                {
                    "name": "Get order by Id or reference number or tracking number",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the order owned by the caller's business. Alliance Order View: a client may also query orders owned by an alliance partner that shares Order View with them (partner holds the Share grant, caller holds the Receive grant, and Order View is enabled for the alliance). For such cross-business orders the response sets is_alliance_data to true, includes alliance and order_owner objects, and masks commercial fields (pricing, commission, internal reference, customer id, order channel, order batches, external/third-party tracking identifiers). Fields the business marked Mandatory under Settings → Add New Order (/setting) may not be blanked by an edit, and a package the edit touches must keep its weight / dimensions when those are mandatory; a violation is answered with result=false and HTTP 400."
                    },
                    "response": []
                },
                {
                    "name": "Delete Order By Id",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete Order By Id"
                    },
                    "response": []
                },
                {
                    "name": "Partially update an existing order",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": "ID of the order to modify"
                                }
                            ]
                        },
                        "description": "Partially update an existing order"
                    },
                    "response": []
                },
                {
                    "name": "Cancel Order By Id",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancels an order. A shipping label is cancelled first when the order has one. An order held by a third-party carrier is cancelled at the carrier first: the carrier must support cancellation (otherwise 409 THIRD_PARTY_CANCEL_NOT_SUPPORTED) and must accept (otherwise 409 THIRD_PARTY_CANCEL_FAILED with the carrier's reason); the order is unchanged in both cases. A carrier-held order may be cancelled from any status while the carrier has not taken custody of the parcel. The response carries `third_party` whenever a carrier was involved. Orders with no carrier behave exactly as before."
                    },
                    "response": []
                },
                {
                    "name": "Cancel Order By Number (idempotent)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                "cancel"
                            ]
                        },
                        "description": "Cancels an order located by tracking_number, external_tracking_number or order_id (provide exactly one). Same permission, status and third-party carrier rules as GET /v1/orders/{orderId}/cancel (carrier-held orders are cancelled at the carrier first; `third_party` reports the outcome), plus idempotency: cancelling an already-cancelled order returns 200 with already_cancelled=true. When a number matches multiple live orders, 409 is returned with matched_order_ids so the caller can disambiguate by order_id.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"external_tracking_number\": \"WP1234567890\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List the caller's orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/list",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                "list"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number. Paginates only when per_page is also supplied."
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Page size, 1-1000. Paginates only when page is also supplied (default 20); larger values are clamped to 1000."
                                }
                            ]
                        },
                        "description": "Returns the orders owned by the caller's business (business_id = the token owner's service provider), newest first, each with all of its packages and their item lines, plus resolved status / channel / customer / route / driver names. Instant Deliver orders are excluded — they have their own module and listing. A customer token is further narrowed to that customer's own orders and never sees the third-party delivery fields; a contractor (broker) token sees only the orders its own routes and drivers cover, exactly like the web list. Pagination requires BOTH page and per_page (per_page is capped at 1000). With either one missing the response falls back to the newest 1000 orders in a { data, limit, truncated } envelope — every row carries its packages and items, so an unbounded response is not served; paginate to walk the whole book. The payload is an explicit field set: internal plumbing columns (pricing internals, geocoder bookkeeping, computed postcode variants, solver hints, original_* shadow copies, warehouse/user join keys) are deliberately not published, and every published field is always present, null when unset."
                    },
                    "response": []
                },
                {
                    "name": "Incremental orders reconciliation feed",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders-reconciliation",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders-reconciliation"
                            ],
                            "query": [
                                {
                                    "key": "updated_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "updated_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Stable (updated_at, id) cursor pagination over the caller's orders within an updated_at window, for scheduled reconciliation sweeps. Pass next_cursor from the previous page to continue; every item carries unix timestamps so consumers never parse ambiguous local times. updated_from/updated_to accept unix timestamps or 'Y-m-d H:i:s' strings in the platform timezone."
                    },
                    "response": []
                },
                {
                    "name": "Incremental tracking-events reconciliation feed",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking-events/reconciliation",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking-events",
                                "reconciliation"
                            ],
                            "query": [
                                {
                                    "key": "updated_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "updated_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Id-ascending cursor pagination over the caller's tracking events (append-only) within an updated_at window. Same parameters as /v1/orders-reconciliation. occurred_at/occurred_timestamp expose the business occurrence time (falls back to created time for historical rows)."
                    },
                    "response": []
                },
                {
                    "name": "Resend delivery PIN",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/resend-pin",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "resend-pin"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": "ID of the order to resend PIN for"
                                }
                            ]
                        },
                        "description": "Generates a new delivery PIN and sends it via SMS and Email to the recipient. The old PIN is invalidated."
                    },
                    "response": []
                },
                {
                    "name": "Get order packages by orderId",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/packages",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "packages"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get order packages by orderId"
                    },
                    "response": []
                },
                {
                    "name": "Get the route history of the parcel carrying a tracking number (client / employee)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking/:trackingNumber/route-assignments",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking",
                                ":trackingNumber",
                                "route-assignments"
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "System tracking number, external tracking number or third-party carrier tracking number of the parcel"
                                }
                            ]
                        },
                        "description": "Route history of the parcel carrying the given tracking number. The number may be the system tracking number, the external tracking number or the third-party carrier tracking number of any package of an order owned by the caller's business; matched_by says which one matched. The response lists how many times the order was put on a route (assignment_count) and every assignment, newest route first. Each assignment carries: route (id, name, date, status); broker (the driver's own broker, else the broker holding the route slot, else the route's contract; null when none); driver (id, alias, name, phone; null when the slot has no driver); stop_number; the delivery outcome; and the proofs taken on that route. The delivery outcome is given three ways: delivery_status is the integer stored on the assignment and defined by the DeliveryStatusInput constants (0 NOT_DELIVERED, 1 DELIVER_SUCCESS, 2 DELIVER_FAIL, 3 DELIVER_CANCEL); delivery_status_key is the stable machine key to switch on (pending, successful, failed, cancelled) and never changes or gets translated; delivery_status_text is the human label. return_reason (id, reason) is set when the attempt failed. Proofs use exactly the proofs[] shape of GET /v1/tracking/{trackingNumber}: stable file_id, upload time, permanent and signed URLs and the event context (tracking_event_id, tracking_event_status_id, tracking_event_key, service_type 1 = delivery / 2 = pickup, service_status 1 = success / 2 = failed). A proof uploaded without an event is read off the order's timeline, so it reports the same outcome a tied proof would. The top-level proofs[] is the full list for the parcel, identical to the tracking API's. Each assignment's proofs[] holds the subset taken on that route, each with an extra operation_event_id: the operation the proof documents, resolved the way uploads are tied (the operation recorded on the file, else the order's operation recorded against the proof's tracking event, whether that event was recorded or read off the timeline). Available to client and employee accounts of the business that owns the order (not customer or driver tokens). Backed by GraphQL orderRouteAssignments."
                    },
                    "response": []
                },
                {
                    "name": "Get the audit timeline of an order (client / employee)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/audit-timeline",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "audit-timeline"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": "Order id"
                                }
                            ]
                        },
                        "description": "Every recorded touch on the order from every source, merged into one chronological list: web actions, driver app scans, warehouse scans, client API calls, automation and carrier events. Each entry carries the source (web / api / driver_app / warehouse / automation / carrier / system / scan / device), the acting account (id, name, email, group), IP address when recorded, route and stop number, status change, the raw details of the call and the underlying record id. Times are given in the timezone of the client that owns the order (timezone field) and in UTC (at_utc). Available to client and employee accounts of the business that owns the order (not customer or driver tokens). Backed by GraphQL orderAuditTimeline and the developer MCP tool get_order_audit_timeline. `device` entries are the parcel's handling by a smart locker, kiosk or smart drop: event is the device order event type (stored, collected, removed, overdue, exception_opened, ...), status_before / status_after are device order statuses, event_code is null, and details carries device_order_id, device_type, device_id, device_name, grid_code, kind, actor_type, actor_id, channel, smart_locker_log_id, device_operation_log_id and payload; source_detail is device:<device_type> and record is device_order_events#<id>."
                    },
                    "response": []
                },
                {
                    "name": "delete packages from order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/delete-packages",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                "delete-packages"
                            ]
                        },
                        "description": "delete packages from order",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"order_id\": 23123,\n    \"package_ids\": [\n        151475\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "update order batch by orderIds",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/updateorderbatch",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                "updateorderbatch"
                            ]
                        },
                        "description": "update order batch by orderIds",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"order_ids\": [\n        1,\n        2,\n        3\n    ],\n    \"order_batch\": \"test-01\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update time window for orders by reference",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/updatetimewindowbyrefs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                "updatetimewindowbyrefs"
                            ]
                        },
                        "description": "Updates time_window_start and time_window_end for one or multiple orders using their reference numbers."
                    },
                    "response": []
                },
                {
                    "name": "Rate an order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/rate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                "rate"
                            ]
                        },
                        "description": "Rate an order"
                    },
                    "response": []
                },
                {
                    "name": "Rate an order (v2, with third-party carrier estimate)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v2/orders/rate",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v2",
                                "orders",
                                "rate"
                            ]
                        },
                        "description": "Same inputs and rate card pricing as POST /v1/orders/rate, plus: when the shipment would be routed to a third-party delivery provider with a rate API and the caller's price plan bills third-party deliveries by that carrier's cost, the carrier is asked for a live quote and the price is built from it by the plan's billing mode — the figure an order created under that plan is charged. Nothing is created or booked by this call. v1 is unchanged and keeps answering the rate card figure."
                    },
                    "response": []
                },
                {
                    "name": "Hold order",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/hold",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "hold"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": "Order ID"
                                }
                            ]
                        },
                        "description": "Put an order on HOLD so it is not dispatched until released. Auth: client API Bearer."
                    },
                    "response": []
                },
                {
                    "name": "Release order from HOLD",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders/:orderId/release",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders",
                                ":orderId",
                                "release"
                            ],
                            "variable": [
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": "Order ID"
                                }
                            ]
                        },
                        "description": "Release an order from HOLD back to NEW_ORDER. Auth: client API Bearer."
                    },
                    "response": []
                },
                {
                    "name": "Incremental proof-attachment reconciliation feed",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders-files/reconciliation",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders-files",
                                "reconciliation"
                            ],
                            "query": [
                                {
                                    "key": "updated_from",
                                    "value": "",
                                    "description": "Unix timestamp or 'Y-m-d H:i:s' in the platform timezone"
                                },
                                {
                                    "key": "updated_to",
                                    "value": "",
                                    "description": "Unix timestamp or 'Y-m-d H:i:s' in the platform timezone"
                                },
                                {
                                    "key": "cursor",
                                    "value": "",
                                    "description": "Opaque cursor from a previous page (next_cursor)"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Pages orders_files rows by updated_at window + id-ASC cursor, scoped to the caller's business (and customer for customer users). Lets partners sync late or replaced POD attachments without re-querying whole orders. Hard-deleted files stop appearing - pair with the pod.files_updated webhook (action=deleted) to observe removals. signed_url expires; re-fetch the feed for a fresh one."
                    },
                    "response": []
                },
                {
                    "name": "Reconciliation diff for a batch of numbers",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders-reconciliation/diff",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders-reconciliation",
                                "diff"
                            ]
                        },
                        "description": "Submit up to 500 of YOUR numbers (matched against external_tracking_number, tracking_number and package ref) and get back, per number: whether it exists, the matched order(s) with current status, proof-attachment count and latest tracking-event id - plus a `missing` list. Designed for scheduled consistency checks (which of my orders never made it / lost events / lack POD) without one-by-one tracking queries.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"numbers\": [\n        \"WP1234567890\",\n        \"NO-SUCH-NUMBER\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Reconciliation CSV export",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/orders-reconciliation/export",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "orders-reconciliation",
                                "export"
                            ],
                            "query": [
                                {
                                    "key": "updated_from",
                                    "value": "",
                                    "description": "Unix timestamp or 'Y-m-d H:i:s' in the platform timezone"
                                },
                                {
                                    "key": "updated_to",
                                    "value": "",
                                    "description": "Unix timestamp or 'Y-m-d H:i:s' in the platform timezone"
                                }
                            ]
                        },
                        "description": "Streams every order in the requested updated_at window (same filters and scoping as GET /v1/orders-reconciliation) as CSV, one row per package, for spreadsheet-side diffing. UTF-8 with BOM. Capped at 100k orders per export - narrow the window for larger datasets. Columns: order_id, order_ref, type, orders_status_id, orders_status_key, customer_id, package_id, package_ref, tracking_number, external_tracking_number, order_updated_at, order_updated_timestamp."
                    },
                    "response": []
                },
                {
                    "name": "Inbound email webhook for order intake (mail-provider callback)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/intake/email/inbound",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "intake",
                                "email",
                                "inbound"
                            ]
                        },
                        "description": "Dispatch Options → email_intake. Point your mail provider's inbound route (Mailgun routes / SendGrid inbound parse) at this URL for the intake domain. The business is identified by the token in the recipient address (orders-<token>@<intake domain>); optional Mailgun signature verification (timestamp/token/signature) when EMAIL_INTAKE_MAILGUN_SIGNING_KEY is set. Accepts recipient|to, sender|from, subject, stripped-text|body-plain|text (or body-html), Message-Id. Every accepted email is stored in the business's confirmation queue with a parsed order candidate; when auto-create is on and the candidate is complete, the order is created immediately. Answers 406 for unknown recipients so the provider stops retrying, 403 for senders outside the allow-list, 200 with duplicate=true for a repeated Message-Id."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "POI",
            "item": [
                {
                    "name": "Get available POI types for users (Driver/Client/Customer)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/poi/types",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "poi",
                                "types"
                            ],
                            "query": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Optional POI type ID to get specific POI type"
                                }
                            ]
                        },
                        "description": "Returns POI types available to the authenticated user, including their own business POI types and shared POI types. Returns field definitions, types, options, layout and multilingual names. Optional ID parameter to get specific POI type."
                    },
                    "response": []
                },
                {
                    "name": "Get POIs with filtering options",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/poi/list",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "poi",
                                "list"
                            ]
                        },
                        "description": "Retrieves POIs based on various filtering criteria including POI types, shared POIs, and distance from a center point. If no center point is provided, uses the user's work location.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"poi_types\": [\n        \"restaurant\",\n        \"gas_station\"\n    ],\n    \"include_shared\": true,\n    \"latitude\": 45.5016889,\n    \"longitude\": -73.567256,\n    \"range_limit\": 500\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Submit a new POI",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/poi",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "poi"
                            ]
                        },
                        "description": "Unified endpoint under /v1/poi. Submit a new POI (Point of Interest) with optional field values based on the POI type's form definition.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"poi_type_id\": 1,\n    \"name\": \"McDonald's - Downtown\",\n    \"latitude\": 45.5016889,\n    \"longitude\": -73.567256,\n    \"address\": \"123 Main Street\",\n    \"address_1\": \"123 Main Street\",\n    \"address_2\": \"Suite 100\",\n    \"city\": \"Montreal\",\n    \"province\": \"QC\",\n    \"country\": \"CA\",\n    \"postal_code\": \"H2X 1Y8\",\n    \"field_values\": {\n        \"opening_hours\": \"24/7\",\n        \"phone\": \"+1-514-555-0123\",\n        \"parking_available\": true\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Packing Plans",
            "item": [
                {
                    "name": "List packing plans",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List packing plans"
                    },
                    "response": []
                },
                {
                    "name": "Create a packing plan with candidate packaging selections",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans"
                            ]
                        },
                        "description": "Create a packing plan with candidate packaging selections",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Retail order 4512 split\",\n    \"reference\": \"PP-2026-001\",\n    \"target_utilization_percent\": 85,\n    \"packaging_type_ids\": [\n        2\n    ],\n    \"packaging_ids\": [\n        15\n    ],\n    \"custom_packagings\": [\n        {\n            \"name\": \"Slim mailer box\",\n            \"dimension_unit\": 2,\n            \"inner_length\": 40,\n            \"inner_width\": 30,\n            \"inner_height\": 15,\n            \"weight_unit\": 2,\n            \"max_payload\": 12,\n            \"tare_weight\": 0.35,\n            \"unit_cost\": 1.2,\n            \"quantity_limit\": 10\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get a packing plan with its packaging selections",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get a packing plan with its packaging selections"
                    },
                    "response": []
                },
                {
                    "name": "Update a packing plan and replace its packaging selections",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update a packing plan and replace its packaging selections",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Retail order 4512 split\",\n    \"reference\": \"PP-2026-001\",\n    \"target_utilization_percent\": 85,\n    \"packaging_type_ids\": [\n        2\n    ],\n    \"packaging_ids\": [\n        15\n    ],\n    \"custom_packagings\": [\n        {\n            \"name\": \"Slim mailer box\",\n            \"dimension_unit\": 2,\n            \"inner_length\": 40,\n            \"inner_width\": 30,\n            \"inner_height\": 15,\n            \"weight_unit\": 2,\n            \"max_payload\": 12,\n            \"tare_weight\": 0.35,\n            \"unit_cost\": 1.2,\n            \"quantity_limit\": 10\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete a packing plan",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a packing plan"
                    },
                    "response": []
                },
                {
                    "name": "List items of a packing plan",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/items",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "items"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List items of a packing plan"
                    },
                    "response": []
                },
                {
                    "name": "Add an item to a packing plan",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/items",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "items"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Add an item to a packing plan",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Ceramic mug\",\n    \"sku\": \"MUG-01\",\n    \"quantity\": 24,\n    \"dimension_unit\": 4,\n    \"length\": 4.7,\n    \"width\": 3.5,\n    \"height\": 4.1,\n    \"weight_unit\": 4,\n    \"weight\": 0.93,\n    \"can_rotate\": true,\n    \"stackable\": true,\n    \"orientation\": \"any\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update a packing plan item",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/items/:item",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "items",
                                ":item"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "item",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update a packing plan item",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Ceramic mug\",\n    \"sku\": \"MUG-01\",\n    \"quantity\": 24,\n    \"dimension_unit\": 4,\n    \"length\": 4.7,\n    \"width\": 3.5,\n    \"height\": 4.1,\n    \"weight_unit\": 4,\n    \"weight\": 0.93,\n    \"can_rotate\": true,\n    \"stackable\": true,\n    \"orientation\": \"any\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete a packing plan item",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/items/:item",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "items",
                                ":item"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "item",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Delete a packing plan item"
                    },
                    "response": []
                },
                {
                    "name": "Solve a packing plan synchronously",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/solve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "solve"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Runs the carton packing solver synchronously and stores a new result. Candidates are ranked: pack everything first, then smallest total outer volume, then fewest packages, then lowest cost. Each package's metrics include a gravity object: cog_x_mm/cog_y_mm/cog_z_mm (weighted center of gravity in mm from the package origin), offset_x_percent/offset_y_percent (horizontal offset from the floor center as percent of the half side; flagged at >=20), cog_height_percent (CoG height as percent of inner height; above 60 is flagged top-heavy) and balanced (bool). Candidate-level warnings[] may contain GRAVITY_IMBALANCED."
                    },
                    "response": []
                },
                {
                    "name": "List solve results of a packing plan",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/results",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "results"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List solve results of a packing plan"
                    },
                    "response": []
                },
                {
                    "name": "Get one solve result with ranked candidates",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/packing-plans/:plan/results/:result",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "packing-plans",
                                ":plan",
                                "results",
                                ":result"
                            ],
                            "variable": [
                                {
                                    "key": "plan",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "result",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Candidates are ranked: pack everything first, then smallest total outer volume, then fewest packages, then lowest cost. Each package's metrics include a gravity object: cog_x_mm/cog_y_mm/cog_z_mm (weighted center of gravity in mm from the package origin), offset_x_percent/offset_y_percent (horizontal offset from the floor center as percent of the half side; flagged at >=20), cog_height_percent (CoG height as percent of inner height; above 60 is flagged top-heavy) and balanced (bool). Candidate-level warnings[] may contain GRAVITY_IMBALANCED."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Platform Apps",
            "item": [
                {
                    "name": "Bootstrap a client-assigned app",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/bootstrap",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "bootstrap"
                            ],
                            "query": [
                                {
                                    "key": "platform",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "app_version",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns public branding, effective capabilities, service contracts and version policy. The client code identifies configuration only and is not an authorization credential."
                    },
                    "response": []
                },
                {
                    "name": "Sign in to an app with Google",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/auth/google",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "auth",
                                "google"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Verifies a Google ID token against the app's shared backend audience, resolves the single global Google binding also used by Web, then restricts access to the selected Client and allowed user roles. Native mobile sign-in does not use the Web OAuth callback.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id_token\": \"google-signed-id-token\",\n    \"device_id\": \"0f3d1c43-7f53-4c16-ae90-62a2bc921812\",\n    \"device_platform\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Sign in to an app with email",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/auth/email",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "auth",
                                "email"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Authenticates the normal Superroute account password, then applies the selected app's role and Client ownership policy before issuing an app session.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"email\": \"customer@example.com\",\n    \"password\": \"account-password\",\n    \"device_id\": \"0f3d1c43-7f53-4c16-ae90-62a2bc921812\",\n    \"device_platform\": \"android\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Refresh an app session",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/auth/refresh",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "auth",
                                "refresh"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Issues a replacement Passport token for the same app, Client, user and device, and revokes the prior token.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"device_id\": \"0f3d1c43-7f53-4c16-ae90-62a2bc921812\",\n    \"device_platform\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Sign out of an app",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/auth/logout",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "auth",
                                "logout"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Revokes the current Passport token and marks the matching app-device session as revoked."
                    },
                    "response": []
                },
                {
                    "name": "Request a registration phone verification code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/registration/phone/request",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "registration",
                                "phone",
                                "request"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates a five-minute, App- and Client-scoped verification challenge and sends a six-digit code using the selected Client's SMS provider. Codes are rate limited and never returned by the API.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"phone\": \"+1 416 555 0100\",\n    \"locale\": \"en\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Register a Client customer",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/registration/complete",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "registration",
                                "complete"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates the normal Superroute User and Customer records and either issues an app session or returns a pending-review result. Existing accounts are never overwritten or duplicated.\n\nTwo shapes, chosen by the Client's `registration.require_phone_verification` setting (published as `authentication.registration.phone_verification_required` on bootstrap). When it is on, send `challenge_id` and `code` from /registration/phone/request and the phone is recorded as verified. When it is off, send `phone` instead and the number is stored unverified. A challenge is always honoured if supplied.\n\nThe address is mandatory in both shapes. The new account starts from the customer template the Client selected for this app, or from the business default template when it selected none.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"challenge_id\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"code\": \"123456\",\n    \"name\": \"MiBox Customer\",\n    \"email\": \"customer@example.com\",\n    \"password\": \"account-password\",\n    \"password_confirmation\": \"account-password\",\n    \"address\": \"123 King Street West\",\n    \"address_2\": \"Unit 5\",\n    \"city\": \"Toronto\",\n    \"province\": \"ON\",\n    \"postcode\": \"M5H 1A1\",\n    \"country\": \"Canada\",\n    \"device_id\": \"0f3d1c43-7f53-4c16-ae90-62a2bc921812\",\n    \"device_platform\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Resolve a scanned pay tag",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pay/resolve",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pay",
                                "resolve"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Scan-to-pay entry point. The tag token names a device and nothing else; who is standing at it comes from the authenticated session. Returns every payable this payer owes at that device — none, one, or several — and the app decides from the list length whether to say nothing is due, go straight to paying, or show a chooser. Resolving also records that the sticker was scanned, which is the only way to tell a working sticker from one that peeled off. Throttled to 30 requests a minute.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"tag_token\": \"7b1e9c04a8f24d6fb0537ce1249ad835\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Everything this payer owes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pay/outstanding",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pay",
                                "outstanding"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "What the badge on the app's home screen counts: every payable this payer owes across the business, without scanning anything. Runs on app open, so a resolver that cannot answer cheaply returns nothing rather than make every launch slow — a short list is therefore not proof that nothing is owed."
                    },
                    "response": []
                },
                {
                    "name": "Raise a payment request for one payable",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pay/requests",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pay",
                                "requests"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Turns one outstanding payable into a request that can be settled. The amount is never taken from the caller: the payable is re-read from the business that owns it, so an app cannot name its own price or raise a charge against a subject it merely guessed. Passing tag_token scopes the re-read to that device; omitting it re-reads everything the payer owes. Asking twice for the same subject returns the request already standing rather than raising a second one. Throttled to 30 requests a minute.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"subject_type\": \"locker\",\n    \"subject_id\": 8801,\n    \"tag_token\": \"7b1e9c04a8f24d6fb0537ce1249ad835\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "One payment request and its methods",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pay/requests/:publicToken",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pay",
                                "requests",
                                ":publicToken"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "publicToken",
                                    "value": "",
                                    "description": "The request's own opaque token, 32 hex characters."
                                }
                            ]
                        },
                        "description": "What the request is for, what it costs, and what may settle it. The method list is the business's configured gateways narrowed by the methods it left switched on, in its own order, plus the account balance when the payer has one and it covers the amount. A method the payer cannot use is returned with available false and a reason rather than omitted, so the app can grey it out and say why."
                    },
                    "response": []
                },
                {
                    "name": "Pay a payment request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pay/requests/:publicToken/pay",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pay",
                                "requests",
                                ":publicToken",
                                "pay"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "publicToken",
                                    "value": "",
                                    "description": "The request's own opaque token, 32 hex characters."
                                }
                            ]
                        },
                        "description": "Start paying. A wallet payment finishes here and comes back with paid true. A gateway payment does not: it comes back with a `next` object saying how the payer finishes. `next.kind` is the only field worth branching on — `redirect` means open `next.checkout_url`, `sheet` means hand `next.client_secret` to the provider's mobile SDK, initialised with `next.publishable_key`. The sheet is where Apple Pay and Google Pay appear: they are not separate methods to switch on beside card, they are surfaces the SDK offers on that same payment when the device supports them. Either way the money is not collected until the gateway says so — poll the request until its status becomes paid. Pass method wallet with no gateway to spend the balance; otherwise pass the gateway code and the method it offers. Throttled to 10 requests a minute: it moves money, or calls out to somebody who does.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"method\": \"wallet\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get the app-scoped customer wallet",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/wallet",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "wallet"
                            ],
                            "query": [
                                {
                                    "key": "locale",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the selected Client's existing customer balance, credit allowance, remaining credit, available spending amount, online-payment policy and tax mode. This endpoint does not maintain a separate App balance."
                    },
                    "response": []
                },
                {
                    "name": "List the customer wallet ledger",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/wallet/transactions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "wallet",
                                "transactions"
                            ],
                            "query": [
                                {
                                    "key": "category",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns Client- and customer-scoped entries from the existing transactions ledger, supplemented with matching payment metadata. Adjustments remain normal transaction entries."
                    },
                    "response": []
                },
                {
                    "name": "List Client-approved wallet payment methods",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/wallet/payment-methods",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "wallet",
                                "payment-methods"
                            ],
                            "query": [
                                {
                                    "key": "locale",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns only configured, App-approved gateway methods and masked saved instruments. Gateway credentials and processor secrets are never exposed."
                    },
                    "response": []
                },
                {
                    "name": "Preview configured customer tax",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/wallet/tax-preview",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "wallet",
                                "tax-preview"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Uses the Client's existing tax zones and the customer's fixed, billing-address or service-address tax mode. The preview does not write a transaction.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"amount\": 100,\n    \"country\": \"Canada\",\n    \"province\": \"Ontario\",\n    \"postcode\": \"M5V 2T6\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Create an idempotent customer wallet top-up",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/wallet/top-ups",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "wallet",
                                "top-ups"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates a payment through a Client-configured gateway. The operation record provides idempotency and payment orchestration only; successful settlement is written to the existing payments and transactions ledger by the normal verified gateway callback.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"payment_method_id\": \"alphapay:wechat_pay\",\n    \"amount\": 50,\n    \"locale\": \"en\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get a wallet top-up status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/wallet/top-ups/:operationId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "wallet",
                                "top-ups",
                                ":operationId"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "operationId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns only an operation owned by the authenticated customer and selected App-Client assignment, reconciled against the existing payment and transaction records."
                    },
                    "response": []
                },
                {
                    "name": "List app-enabled SmartLocker locations",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/locker-locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "locker-locations"
                            ],
                            "query": [
                                {
                                    "key": "latitude",
                                    "value": "",
                                    "description": "Origin latitude"
                                },
                                {
                                    "key": "longitude",
                                    "value": "",
                                    "description": "Origin longitude"
                                },
                                {
                                    "key": "origin_address_1",
                                    "value": "",
                                    "description": "Selected customer address line 1 used when coordinates are not supplied"
                                },
                                {
                                    "key": "origin_address_2",
                                    "value": "",
                                    "description": "Selected customer address line 2"
                                },
                                {
                                    "key": "origin_city",
                                    "value": "",
                                    "description": "Selected customer address city"
                                },
                                {
                                    "key": "origin_province",
                                    "value": "",
                                    "description": "Selected customer address province or region"
                                },
                                {
                                    "key": "origin_country",
                                    "value": "",
                                    "description": "Selected customer address country name or ISO-2 code"
                                },
                                {
                                    "key": "origin_postcode",
                                    "value": "",
                                    "description": "Selected customer address postcode"
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Location name, city or postcode"
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": "Maximum locations"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Page size, up to 100"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "One-based result page"
                                },
                                {
                                    "key": "north",
                                    "value": "",
                                    "description": "Viewport north latitude"
                                },
                                {
                                    "key": "south",
                                    "value": "",
                                    "description": "Viewport south latitude"
                                },
                                {
                                    "key": "east",
                                    "value": "",
                                    "description": "Viewport east longitude"
                                },
                                {
                                    "key": "west",
                                    "value": "",
                                    "description": "Viewport west longitude"
                                },
                                {
                                    "key": "pickup",
                                    "value": "",
                                    "description": "Narrows the list to locations that support pickup. Only applied when true; false, empty or omitted returns the unfiltered catalog."
                                },
                                {
                                    "key": "return",
                                    "value": "",
                                    "description": "Narrows the list to locations that accept returns. Only applied when true; false, empty or omitted returns the unfiltered catalog."
                                },
                                {
                                    "key": "online",
                                    "value": "",
                                    "description": "Narrows the list to locations whose aggregated status is online. Only applied when true; false, empty or omitted returns the unfiltered catalog."
                                },
                                {
                                    "key": "available",
                                    "value": "",
                                    "description": "Narrows the list to locations with at least one available compartment. Only applied when true; false, empty or omitted returns the unfiltered catalog."
                                },
                                {
                                    "key": "favorite",
                                    "value": "",
                                    "description": "Narrows the list to the signed-in customer’s favorites. Only applied when true; false, empty or omitted returns the unfiltered catalog."
                                },
                                {
                                    "key": "include_status",
                                    "value": "",
                                    "description": "Include batched runtime status and capacity summaries"
                                },
                                {
                                    "key": "sort",
                                    "value": "",
                                    "description": "Sort by distance, name, favorite, recent or popular"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Searches the selected Client’s complete active SmartLocker catalog with server-side text search, viewport bounds, service and availability filters, pagination and optional live locker-status/capacity summaries. Each item is an address location; locker_status_summary counts the actual locker devices below that location. The existing status field remains an aggregate for compatibility. Optional coordinates or an origin address sort results by distance; direct coordinates take precedence, while address fields use Superroute’s shared geocoding service."
                    },
                    "response": []
                },
                {
                    "name": "Show a SmartLocker location",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/locker-locations/:locationId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "locker-locations",
                                ":locationId"
                            ],
                            "query": [
                                {
                                    "key": "latitude",
                                    "value": "",
                                    "description": "Origin latitude"
                                },
                                {
                                    "key": "longitude",
                                    "value": "",
                                    "description": "Origin longitude"
                                },
                                {
                                    "key": "origin_address_1",
                                    "value": "",
                                    "description": "Selected customer address line 1 used when coordinates are not supplied"
                                },
                                {
                                    "key": "origin_address_2",
                                    "value": "",
                                    "description": "Selected customer address line 2"
                                },
                                {
                                    "key": "origin_city",
                                    "value": "",
                                    "description": "Selected customer address city"
                                },
                                {
                                    "key": "origin_province",
                                    "value": "",
                                    "description": "Selected customer address province or region"
                                },
                                {
                                    "key": "origin_country",
                                    "value": "",
                                    "description": "Selected customer address country name or ISO-2 code"
                                },
                                {
                                    "key": "origin_postcode",
                                    "value": "",
                                    "description": "Selected customer address postcode"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "locationId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns location details plus the distance from optional coordinates or an origin address, a status count for the actual locker devices below the address, live status, door summary, compartment dimensions, estimated occupancy and services. Capacity is grouped by physical compartment size and estimated from Superroute inventory, active grid allocations and provider parcel-presence data when available."
                    },
                    "response": []
                },
                {
                    "name": "List customer locker pickups",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pickups",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pickups"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Pickup status"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Lists only PartnerLocker deliveries owned by the authenticated customer. Ownership is matched against the normalized, encrypted-recipient hash and selected Client."
                    },
                    "response": []
                },
                {
                    "name": "Show a customer locker pickup",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pickups/:deliveryId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pickups",
                                ":deliveryId"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "deliveryId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns pickup code, QR payload, location, compartment and package state for a customer-owned delivery."
                    },
                    "response": []
                },
                {
                    "name": "Collect and remotely open a locker pickup",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/pickups/:deliveryId/collect",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "pickups",
                                ":deliveryId",
                                "collect"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "deliveryId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Requires the effective locker.remote_open capability and explicit customer confirmation. Reuses WarehouseSelfPickup, SmartLocker door verification, compartment locks, inventory settlement and audit services.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"user_confirmed\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List app-enabled customer orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": "Order family"
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Existing service status"
                                },
                                {
                                    "key": "search",
                                    "value": "",
                                    "description": "Order ID or service-supported search term"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Combines existing customer shipping, storage and return records into a normalized read model. It does not create a second order table or ledger."
                    },
                    "response": []
                },
                {
                    "name": "Show an app-enabled customer order",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/orders/:orderType/:orderId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "orders",
                                ":orderType",
                                ":orderId"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "orderType",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "orderId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Routes to the existing shipping, storage or return service and preserves its source-of-truth detail payload."
                    },
                    "response": []
                },
                {
                    "name": "Get App return configuration",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/returns/config",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "returns",
                                "config"
                            ],
                            "query": [
                                {
                                    "key": "locale",
                                    "value": "",
                                    "description": "Preferred response locale"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the authenticated customer’s existing return-center eligibility, channels, Client-owned addresses, reasons and effective SmartLocker return methods."
                    },
                    "response": []
                },
                {
                    "name": "List customer return requests",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/returns",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "returns"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Existing return status"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Lists existing ReturnRequest records for the authenticated customer and selected Client."
                    },
                    "response": []
                },
                {
                    "name": "Create a customer return request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/returns",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "returns"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates the normal ReturnRequest record using the selected Client’s existing return channel, address, reason, approval and unique-code behavior.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"return_type\": 1,\n    \"return_channel_id\": 4,\n    \"return_address_id\": 6,\n    \"return_reason_id\": 3,\n    \"pickup_name\": \"MiBox Customer\",\n    \"pickup_address_1\": \"100 King Street West\",\n    \"pickup_city\": \"Toronto\",\n    \"pickup_province\": \"ON\",\n    \"pickup_country\": \"CA\",\n    \"pickup_postcode\": \"M5X 1A9\",\n    \"pickup_telephone\": \"+14165550123\",\n    \"return_description\": \"Package is unopened\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Show a customer return request",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/returns/:returnId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "returns",
                                ":returnId"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "returnId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns an existing customer-owned ReturnRequest with pickup, destination, reason, channel and status details."
                    },
                    "response": []
                },
                {
                    "name": "Cancel a customer return request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/returns/:returnId/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "returns",
                                ":returnId",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "returnId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancels an eligible pending or approved ReturnRequest that has not produced a return order, and appends the normal operation record."
                    },
                    "response": []
                },
                {
                    "name": "List app notifications",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/notifications",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "notifications"
                            ],
                            "query": [
                                {
                                    "key": "filter",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "category",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns only database notifications scoped to the authenticated user and selected App-Client assignment."
                    },
                    "response": []
                },
                {
                    "name": "Get notification preferences",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/notifications/preferences",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "notifications",
                                "preferences"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get notification preferences"
                    },
                    "response": []
                },
                {
                    "name": "Update notification preferences",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/notifications/preferences",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "notifications",
                                "preferences"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Customers may opt down from the channels and categories enabled by the Client.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"channels\": {\n        \"in_app\": true,\n        \"push\": true,\n        \"email\": false,\n        \"sms\": false\n    },\n    \"categories\": {\n        \"pickup\": true,\n        \"orders\": true,\n        \"returns\": true,\n        \"wallet\": true,\n        \"security\": true\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get foreground notification MQTT credentials",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/notifications/realtime",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "notifications",
                                "realtime"
                            ],
                            "query": [
                                {
                                    "key": "device_id",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns short-lived MQTT-over-WebSocket credentials scoped to the authenticated app, Client assignment, customer and device. When realtime is unavailable, data.enabled is false and the app continues using API refresh."
                    },
                    "response": []
                },
                {
                    "name": "Mark all app notifications as read",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/notifications/read-all",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "notifications",
                                "read-all"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark all app notifications as read"
                    },
                    "response": []
                },
                {
                    "name": "Mark one app notification as read",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/notifications/:notificationId/read",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "notifications",
                                ":notificationId",
                                "read"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "notificationId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Mark one app notification as read"
                    },
                    "response": []
                },
                {
                    "name": "Register an app push device",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/devices",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "devices"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Stores an encrypted FCM token scoped to the user and App-Client assignment.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"push_token\": \"fcm-token\",\n    \"device_id\": \"device-uuid\",\n    \"device_platform\": \"android\",\n    \"preferred_locale\": \"en\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Revoke an app push device",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/devices/:deviceId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "devices",
                                ":deviceId"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Revoke an app push device"
                    },
                    "response": []
                },
                {
                    "name": "Get app privacy overview",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns linked global identity providers, verified-phone state, legal links, data domains and pending deletion status."
                    },
                    "response": []
                },
                {
                    "name": "Request phone verification for the signed-in customer",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy/phone/request",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy",
                                "phone",
                                "request"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Creates a five-minute challenge using the Client's existing SMS configuration. The challenge is bound to the authenticated customer, App and Client.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"phone\": \"+1 416 555 0100\",\n    \"locale\": \"en\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Verify and link the signed-in customer's phone",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy/phone/verify",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy",
                                "phone",
                                "verify"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Consumes the customer-bound SMS challenge, creates the shared verified phone identity and updates the customer's primary telephone. A phone linked to another global account cannot be reused.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"challenge_id\": \"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef\",\n    \"code\": \"123456\",\n    \"locale\": \"en\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Link Google to the signed-in account",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy/identities/google",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy",
                                "identities",
                                "google"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Verifies the Google ID token against this App's configured audiences and creates the single global identity binding shared by Web and all apps.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id_token\": \"verified-google-id-token\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Unlink Google from the signed-in account",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy/identities/google",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy",
                                "identities",
                                "google"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Removes the single global Google identity binding shared by Web and all apps."
                    },
                    "response": []
                },
                {
                    "name": "List app sessions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/sessions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "sessions"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "List app sessions"
                    },
                    "response": []
                },
                {
                    "name": "Revoke an app session",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/sessions/:sessionId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "sessions",
                                ":sessionId"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "sessionId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Revoke an app session"
                    },
                    "response": []
                },
                {
                    "name": "Request account closure",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy/account-deletion",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy",
                                "account-deletion"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Opens a reviewed account closure. The account is suspended immediately — sign-in and API access both stop and every live token is revoked — and the business is notified to approve or reject it. The customer is emailed a withdrawal link, and `withdrawal_token` is returned here once so the app can offer the same withdrawal itself.\n\nBackward compatible with the previous delete-request endpoint: the response keeps its shape, `status` keeps its original values (`pending`, `cancelled`, `completed`) and gained one new value (`rejected`), and the added fields are additive.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"confirmation\": true,\n    \"reason\": \"No longer using MiBox\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Cancel app account deletion",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/privacy/account-deletion",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "privacy",
                                "account-deletion"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Withdraws the pending closure request while a session still exists. Once the request has taken the session away, use POST /v1/apps/{appCode}/account-closure/withdraw with the one-shot token instead."
                    },
                    "response": []
                },
                {
                    "name": "Sign in to an app with Google with automatic service-provider matching",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/auth/google",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "auth",
                                "google"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Verifies the global Google identity, derives the linked Customer service provider, verifies that provider has enabled this app and sign-in method, and returns the resolved Client context. No Client code is accepted.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id_token\": \"google-signed-id-token\",\n    \"device_id\": \"0f3d1c43-7f53-4c16-ae90-62a2bc921812\",\n    \"device_platform\": \"ios\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Sign in to an app with email with automatic service-provider matching",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/auth/email",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "auth",
                                "email"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Authenticates the global Superroute account, derives its service provider from the Customer record, verifies that provider has enabled this app and sign-in method, and returns the resolved Client context. No Client code is accepted.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"email\": \"customer@example.com\",\n    \"password\": \"account-password\",\n    \"device_id\": \"0f3d1c43-7f53-4c16-ae90-62a2bc921812\",\n    \"device_platform\": \"android\",\n    \"app_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get public app login configuration",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/auth/config",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "auth",
                                "config"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns app-level identity-provider identifiers and available login methods before a Customer service provider is known. Client-specific enablement is enforced only after identity verification."
                    },
                    "response": []
                },
                {
                    "name": "Update a customer SmartLocker preference",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/clients/:clientCode/locker-locations/:locationId/preference",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "clients",
                                ":clientCode",
                                "locker-locations",
                                ":locationId",
                                "preference"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "clientCode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "locationId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Idempotently favorites or unfavorites a SmartLocker and records customer visits for recent and frequently used location ranking. Preference data is scoped by App assignment, Client and customer.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"favorite\": true,\n    \"viewed\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List the Clients that accept new customer registrations",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/registration/clients",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "registration",
                                "clients"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Public and unauthenticated: this is the first call an app makes for a person who has no account yet, and it answers nothing account-specific. Only Clients whose assignment is effective, whose customer role is enabled and whose auth.registration capability is on are listed, so every entry is a door that will actually accept a sign-up. When `count` is 1 the app can skip the picker and open the registration form directly."
                    },
                    "response": []
                },
                {
                    "name": "Withdraw a pending account closure request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/apps/:appCode/account-closure/withdraw",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "apps",
                                ":appCode",
                                "account-closure",
                                "withdraw"
                            ],
                            "variable": [
                                {
                                    "key": "appCode",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Unauthenticated by necessity: an open closure request suspends the account and revokes its tokens, so requiring a session would make the request impossible to take back. The one-shot `withdrawal_token` is the credential; it is returned once by the closure request itself, again in the notice email's link, and again in the 403 ACCOUNT_CLOSURE_PENDING body when a correct password is refused at sign-in. Withdrawing restores the account to exactly the status it held before the request.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"withdrawal_token\": \"one-shot-withdrawal-token\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Products",
            "item": [
                {
                    "name": "List products",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products"
                            ],
                            "query": [
                                {
                                    "key": "product_class",
                                    "value": "",
                                    "description": "Filter by product class (simple, variable, grouped, bundled, virtual, downloadable)"
                                },
                                {
                                    "key": "sku",
                                    "value": "",
                                    "description": "Filter by SKU (partial match)"
                                },
                                {
                                    "key": "name",
                                    "value": "",
                                    "description": "Filter by name (partial match)"
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Filter by status (1=active, 0=inactive)"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page (max 100)"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Page number"
                                }
                            ]
                        },
                        "description": "List products for the authenticated business with filtering and pagination. Supports product class, SKU, name, and status filters."
                    },
                    "response": []
                },
                {
                    "name": "Create a product",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products"
                            ]
                        },
                        "description": "Create a new product. Supports all product classes: simple, variable, grouped, bundled, virtual, downloadable."
                    },
                    "response": []
                },
                {
                    "name": "Get product detail",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Product ID"
                                }
                            ]
                        },
                        "description": "Get a single product with full details including variants, options, platform links, images, and barcodes."
                    },
                    "response": []
                },
                {
                    "name": "Update a product",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Product ID"
                                }
                            ]
                        },
                        "description": "Update an existing product's properties."
                    },
                    "response": []
                },
                {
                    "name": "Delete a product",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Product ID"
                                }
                            ]
                        },
                        "description": "Delete a product and its associated variants, options, and platform links."
                    },
                    "response": []
                },
                {
                    "name": "List product variants",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products/:productId/variants",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products",
                                ":productId",
                                "variants"
                            ],
                            "variable": [
                                {
                                    "key": "productId",
                                    "value": "",
                                    "description": "Product ID"
                                }
                            ]
                        },
                        "description": "List all variants for a product."
                    },
                    "response": []
                },
                {
                    "name": "Create a product variant",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products/:productId/variants",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products",
                                ":productId",
                                "variants"
                            ],
                            "variable": [
                                {
                                    "key": "productId",
                                    "value": "",
                                    "description": "Product ID"
                                }
                            ]
                        },
                        "description": "Create a new variant for a product with option values, pricing, and stock."
                    },
                    "response": []
                },
                {
                    "name": "Sync products from external platform",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/products/sync/platform",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "products",
                                "sync",
                                "platform"
                            ]
                        },
                        "description": "Trigger product catalog sync from WooCommerce, Shopify, or Magento. Imports products with variants, options, and creates platform links."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Public",
            "item": [
                {
                    "name": "Get public tracking information by tracking number",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/tracking/:trackingNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "tracking",
                                ":trackingNumber"
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "The tracking number to look up"
                                }
                            ]
                        },
                        "description": "Public endpoint to retrieve tracking information. No authentication required. Returns tracking events and delivery status. Does not include sender/recipient addresses."
                    },
                    "response": []
                },
                {
                    "name": "Get tracking information in 17Track format",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/17track/:trackingNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "17track",
                                ":trackingNumber"
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "The tracking number to look up"
                                }
                            ]
                        },
                        "description": "Public endpoint to retrieve tracking information formatted for 17Track integration. No authentication required. The `carrier` field is the client's configured 17Track carrier name, falling back to the client's account name when it is not set. GET /custom-api/api/v3/17track/getTrack?waybillNo={trackingNumber} is an alias of this endpoint and returns an identical payload."
                    },
                    "response": []
                },
                {
                    "name": "Get tracking information in 17Track format (custom-api alias)",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v3/17track/getTrack",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v3",
                                "17track",
                                "getTrack"
                            ],
                            "query": [
                                {
                                    "key": "waybillNo",
                                    "value": "",
                                    "description": "The tracking number to look up"
                                }
                            ]
                        },
                        "description": "Full URL: GET /custom-api/api/v3/17track/getTrack?waybillNo={trackingNumber}. Alias of GET /api/v1/17track/{trackingNumber} — same handler, identical payload; only the way the tracking number is addressed differs (query string instead of path). Provided because a 17Track carrier integration can only be pointed at a single fixed URL. The `carrier` field is the client's configured 17Track carrier name, falling back to the client's account name when it is not set."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Reservations",
            "item": [
                {
                    "name": "List bookable slots",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/slots",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                "slots"
                            ],
                            "query": [
                                {
                                    "key": "slug",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "party_size",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Public. Returns start times for a venue slug and date."
                    },
                    "response": []
                },
                {
                    "name": "Hold a slot",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/hold",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                "hold"
                            ]
                        },
                        "description": "Public short hold."
                    },
                    "response": []
                },
                {
                    "name": "Confirm a hold",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/confirm",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                "confirm"
                            ]
                        },
                        "description": "Public confirm with guest details."
                    },
                    "response": []
                },
                {
                    "name": "Join waitlist",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/waitlist",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                "waitlist"
                            ]
                        },
                        "description": "Public waitlist join."
                    },
                    "response": []
                },
                {
                    "name": "Reservation status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/:code",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                ":code"
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Public status by unique code."
                    },
                    "response": []
                },
                {
                    "name": "Cancel reservation",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/:code/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                ":code",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Guest cancel. Seated/checked-in refused."
                    },
                    "response": []
                },
                {
                    "name": "Waitlist reply",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/reservations/:code/reply",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "reservations",
                                ":code",
                                "reply"
                            ],
                            "variable": [
                                {
                                    "key": "code",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "on_the_way / need_more_time / arrived / cancel."
                    },
                    "response": []
                },
                {
                    "name": "Venues this staff account may run",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/venues",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                "venues"
                            ]
                        },
                        "description": "The venues the signed-in account can already open in the store console, with the reservation module switched on. The tablet asks for this once, at login."
                    },
                    "response": []
                },
                {
                    "name": "Walk-in queue, tables and counters",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/waitlist",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "waitlist"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "Everything the host stand paints in one pass: the waiting parties in arrival order, every table with its live state, the counters, and a signature to poll with when MQTT is unavailable. Times are rendered in the venue timezone."
                    },
                    "response": []
                },
                {
                    "name": "Add a walk-in party",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/waitlist",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "waitlist"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "Registers a party standing at the host stand. A number already waiting comes back marked duplicate rather than queued twice."
                    },
                    "response": []
                },
                {
                    "name": "Act on one waiting party",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/waitlist/:id/action",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "waitlist",
                                ":id",
                                "action"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Waiting party id"
                                }
                            ]
                        },
                        "description": "notify_nearly, notify_ready, arrived, seat, delay, late, skip, no_show, complete, cancel, undo. Skip, no-show and cancel need a reason. Seating takes a table: pass resource_id to choose one, or let the first fitting free table be used."
                    },
                    "response": []
                },
                {
                    "name": "Act on one table",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/tables/:resourceId/action",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "tables",
                                ":resourceId",
                                "action"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                },
                                {
                                    "key": "resourceId",
                                    "value": "",
                                    "description": "Table (reservation resource) id"
                                }
                            ]
                        },
                        "description": "available, blocked, out_of_service, seat_next or free. seat_next seats the first waiting party that fits; a table an upcoming booking needs is never handed to a walk-in, and when nobody can sit there the call is refused."
                    },
                    "response": []
                },
                {
                    "name": "MQTT credentials for this device",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/realtime",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "realtime"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "Broker address, a short-lived token and the venue topic the reservation services publish to. The token may only listen to this venue. When the realtime layer is off the credentials are null and the app polls the board every poll_seconds instead."
                    },
                    "response": []
                },
                {
                    "name": "One day of bookings with its counters",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/bookings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "bookings"
                            ],
                            "query": [
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": "Venue-local Y-m-d; today at the venue by default"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "The day's bookings and large-party requests in time order, each with the statuses it may move to next, plus the counters and a signature to poll with. Times are rendered in the venue's timezone."
                    },
                    "response": []
                },
                {
                    "name": "Take a booking on behalf of a guest",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/bookings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "bookings"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "A booking taken over the telephone or at the door: the online lead time and the large-party threshold do not apply, and a table may be pinned. A repeated idempotency key returns the original booking marked duplicate."
                    },
                    "response": []
                },
                {
                    "name": "Move one booking to its next status",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/bookings/:id/transition",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "bookings",
                                ":id",
                                "transition"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Booking id"
                                }
                            ]
                        },
                        "description": "confirmed (a large-party request takes its tables here), checked_in, seated, completed, no_show or cancelled. Only the statuses listed in the booking's own actions are accepted; cancel and no-show take a reason, and the guest is notified exactly as from the web console."
                    },
                    "response": []
                },
                {
                    "name": "Find bookings by code, name, phone or e-mail",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/search",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "search"
                            ],
                            "query": [
                                {
                                    "key": "q",
                                    "value": "",
                                    "description": "Booking code, guest name, phone number or e-mail"
                                }
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "Searches every booking of the venue, past and future. The booking code matches exactly; the phone number is compared digit by digit, so it can be typed any way. Returns at most 50 matches and says when more exist."
                    },
                    "response": []
                },
                {
                    "name": "What this venue’s tablets show",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/settings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "settings"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "Which halves — the walk-in queue, the bookings — the SuperBooking tablets at this venue show, together with what the venue is actually capable of, so a device never offers a half the venue does not run. The setting belongs to the venue, so several stands stay in step; it is also returned with every board."
                    },
                    "response": []
                },
                {
                    "name": "Change what the tablets show",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/settings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "settings"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "Needs an unlock token from the unlock endpoint. At least one half must stay on — a device showing neither is a black screen at the host stand. Every other tablet at the venue is told at once over MQTT."
                    },
                    "response": []
                },
                {
                    "name": "Open the tablet settings with a manager’s password",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/settings/unlock",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "settings",
                                "unlock"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                }
                            ]
                        },
                        "description": "The device is already signed in; this asks who is standing at it. Accepts the venue owner's credentials or those of one of that owner's sub-accounts, and returns a short-lived unlock token. A wrong password and an account that may not open these settings are answered identically, and the endpoint is throttled far harder than the rest of this surface."
                    },
                    "response": []
                },
                {
                    "name": "Move a waiting party up or down the queue",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/waitlist/:id/position",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "waitlist",
                                ":id",
                                "position"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Waiting party id"
                                }
                            ]
                        },
                        "description": "The position is the zero-based place in the queue as displayed. Joining times are never rewritten, so the waited minutes stay true, and a party who joins afterwards still lands at the back. Returns the reordered board."
                    },
                    "response": []
                },
                {
                    "name": "Move a booking to another time and/or table",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/host/:storeId/bookings/:id/modify",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "host",
                                ":storeId",
                                "bookings",
                                ":id",
                                "modify"
                            ],
                            "variable": [
                                {
                                    "key": "storeId",
                                    "value": "",
                                    "description": "Venue (merchant store) id"
                                },
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Booking id"
                                }
                            ]
                        },
                        "description": "The same move the timeline makes. An overlap, a blocked table or a party over the table's capacity is refused. A doubtful move answers 409 with needs_confirmation and the reasons; send it again with confirm_anyway and a reason. The guest is told when their time changes."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "ReturnReasons",
            "item": [
                {
                    "name": "get Return Reasons list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/returnreasons",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "returnreasons"
                            ]
                        },
                        "description": "get Return Reasons list"
                    },
                    "response": []
                },
                {
                    "name": "Create a Return Reasons",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/returnreasons",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "returnreasons"
                            ]
                        },
                        "description": "Create a Return Reasons",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reason\": \"test\",\n    \"sort_number\": 1,\n    \"visible_to_public\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get Return Reasons list filtered by order type",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/returnreasons/:order_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "returnreasons",
                                ":order_id"
                            ],
                            "variable": [
                                {
                                    "key": "order_id",
                                    "value": "",
                                    "description": "Order ID to filter return reasons by order type (pickup/delivery)"
                                }
                            ]
                        },
                        "description": "get Return Reasons list filtered by order type"
                    },
                    "response": []
                },
                {
                    "name": "update  Return Reason  by id",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/returnreasons/:rr_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "returnreasons",
                                ":rr_id"
                            ],
                            "variable": [
                                {
                                    "key": "rr_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "update  Return Reason  by id",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reason\": \"test\",\n    \"sort_number\": 1,\n    \"visible_to_public\": 0,\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "delete Return Reason by id",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/returnreasons/:rr_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "returnreasons",
                                ":rr_id"
                            ],
                            "variable": [
                                {
                                    "key": "rr_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "delete Return Reason by id"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "SMS Marketing",
            "item": [
                {
                    "name": "List SMS marketing subscribers",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/subscribers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "subscribers"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "Filter by status"
                                },
                                {
                                    "key": "q",
                                    "value": "",
                                    "description": "Search name or phone digits"
                                },
                                {
                                    "key": "tag",
                                    "value": "",
                                    "description": "Only subscribers carrying this tag"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Subscribers of the business: double opt-in status (pending | subscribed | unsubscribed), consent evidence (time, IP, channel), tags and message counters."
                    },
                    "response": []
                },
                {
                    "name": "Unsubscribe a subscriber",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/subscribers/:id/unsubscribe",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "subscribers",
                                ":id",
                                "unsubscribe"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Manual unsubscribe (idempotent). The number is never messaged again unless the recipient opts in anew from the tracking page.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reason\": \"customer request\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Audience size and sample for a segment",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/audience/preview",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "audience",
                                "preview"
                            ]
                        },
                        "description": "Counts the confirmed subscribers matching a segment and returns a small masked sample. Segment types: all | first_order (exactly one order) | high_value (>= high_value_min_orders) | lapsed (no order for lapsed_after_days) | low_rating (latest survey rating <= 2) | pickup_only | tag.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"segment\": {\n        \"type\": \"lapsed\",\n        \"tag\": null\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List SMS marketing campaigns",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/campaigns",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "campaigns"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Campaigns with status (draft | scheduled | sending | sent | cancelled), segment, schedule and send counters."
                    },
                    "response": []
                },
                {
                    "name": "Create an SMS marketing campaign",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/campaigns",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "campaigns"
                            ]
                        },
                        "description": "Creates a draft campaign. Placeholders in message_template: {name} (first name), {offer_code}, {business}; the sender name and the unsubscribe footer are added automatically. offer_promotion_id must belong to the business: batch-coupon promotions hand one unique unused coupon per recipient, other promotions use their single coupon code. scheduled_at is read in the business timezone; with schedule=true the campaign is scheduled at once (started by the minutely scheduler). Returns the rendered preview for a sample recipient.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"Fall offer\",\n    \"message_template\": \"Hi {name}, use {offer_code} at {business}!\",\n    \"segment\": {\n        \"type\": \"high_value\",\n        \"tag\": null\n    },\n    \"offer_promotion_id\": 3,\n    \"scheduled_at\": \"2026-09-10 10:00\",\n    \"schedule\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "One campaign with its send log",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/campaigns/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "campaigns",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Campaign details plus one row per recipient: queued | sent | failed | skipped with skip_reason (unsubscribed | weekly_cap | min_interval | no_offer_code | cancelled), offer code and Twilio message SID. Phones are masked."
                    },
                    "response": []
                },
                {
                    "name": "Send a campaign now, or schedule it",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/campaigns/:id/send",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "campaigns",
                                ":id",
                                "send"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Without a body: freezes the audience (confirmed subscribers of the segment) into send rows and queues batches that honour the weekly / interval caps, the business quiet hours (batches are deferred, recipients never skipped) and unsubscribes. With scheduled_at (business timezone) the campaign is scheduled instead. Idempotent for a campaign already sending; 409 for sent / cancelled campaigns.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"scheduled_at\": \"2026-09-10 10:00\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Cancel a campaign",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/sms-marketing/campaigns/:id/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "sms-marketing",
                                "campaigns",
                                ":id",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancels a draft, scheduled or sending campaign; recipients not yet messaged are marked skipped (cancelled). 409 for sent / already cancelled campaigns."
                    },
                    "response": []
                },
                {
                    "name": "Twilio inbound SMS webhook (public)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/sms-marketing/inbound",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "sms-marketing",
                                "inbound"
                            ]
                        },
                        "description": "Configure as the Messaging webhook of the Twilio number used for SMS marketing (URL: https://<api-domain>/api/sms-marketing/inbound). Twilio form fields From, To, Body, MessageSid. The business is resolved from the sender's number (narrowed by To when several businesses share a subscriber), then the X-Twilio-Signature header is validated with that business's auth token (403 on mismatch). YES / OUI / SI / JA / CONFIRM / START confirm a pending opt-in; every configured unsubscribe keyword (STOP, UNSUBSCRIBE, CANCEL, END, QUIT, ARRET by default) unsubscribes. Idempotent per MessageSid. Always answers empty TwiML."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Shipping",
            "item": [
                {
                    "name": "get Stop Number by Order ID/Ref/Tracking Number and routeID",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/shipping/getStopNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "shipping",
                                "getStopNumber"
                            ]
                        },
                        "description": "get Stop Number by Order ID/Ref/Tracking Number and routeID",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"route_id\": \"365\",\n    \"ref\": \"20304\",\n    \"count_by_sub_route\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get Shipping Label (pdf or base64) by Order ID/Ref/Tracking Number",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/shipping/getShippingLabel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "shipping",
                                "getShippingLabel"
                            ]
                        },
                        "description": "The response shape depends on the `base64` flag. With `base64: 0` (the default) the body is the raw PDF file stream sent as `Content-Type: application/pdf`, so it must not be parsed as JSON. With `base64: 1` the body is `Content-Type: application/json` and its value is a top-level JSON **string** holding the base64-encoded PDF, for example `\"JVBERi0xLjcK...\"`. It is not a JSON object, so there is no `pdf_data` field and clients that require a top-level object (org.json JSONObject, .NET JObject.Parse, Go unmarshalling into a map) will reject it. Decode the parsed string directly, or call `POST /v2/shipping/getShippingLabel`, which returns the same PDF inside a regular JSON object and is recommended for new integrations.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": \"17341\",\n    \"type\": \"ORDER_ID\",\n    \"packages\": \" 1 (package number, optional, if the number of packages filled in is inconsistent with the number of orders, the order will be updated, if not filled in, it will be based on the number of packages in the order)\",\n    \"hide_sender_address\": 0,\n    \"hide_receiver_address\": 0,\n    \"base64\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get Shipping Label (base64 Only) by Order ID/Ref/Tracking Number",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v2/shipping/getShippingLabel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v2",
                                "shipping",
                                "getShippingLabel"
                            ]
                        },
                        "description": "For label-service (carrier) orders the carrier's official label PDF is returned in pdf_data (generating it on first call); label_code is empty and the packages parameter is ignored for these orders because the package count is fixed by the carrier submission. For all other orders the label is rendered from the order data and the optional packages parameter adjusts the order's package count. Unlike /v1/shipping/getShippingLabel this endpoint always answers with a JSON object, so pdf_data can be read as an ordinary field.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": \"17341\",\n    \"type\": \"ORDER_ID\",\n    \"packages\": \" 1 (package number, optional, if the number of packages filled in is inconsistent with the number of orders, the order will be updated, if not filled in, it will be based on the number of packages in the order)\",\n    \"hide_sender_address\": 0,\n    \"hide_receiver_address\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Skills",
            "item": [
                {
                    "name": "get skills  list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/skills",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "skills"
                            ]
                        },
                        "description": "get skills  list"
                    },
                    "response": []
                },
                {
                    "name": "Create a Skill",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/skills",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "skills"
                            ]
                        },
                        "description": "Create a Skill",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"skill_01\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "update  skill  by id",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/skills/:skill_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "skills",
                                ":skill_id"
                            ],
                            "variable": [
                                {
                                    "key": "skill_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "update  skill  by id",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\": \"skill_03\",\n    \"status\": 1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "delete skill",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/skills/:skill_id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "skills",
                                ":skill_id"
                            ],
                            "variable": [
                                {
                                    "key": "skill_id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "delete skill"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Smart Locker",
            "item": [
                {
                    "name": "Get smart locker operator session",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/session",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "session"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Resolve the smart locker device for the authenticated operator and return enabled stock-in methods, grid stats, warehouse details, and operator details. Accessible to client, employee, and partner users with warehouse access."
                    },
                    "response": []
                },
                {
                    "name": "List carriers for smart locker operator stock-in",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/carriers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "carriers"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Results per page, 1-50. Defaults to 20."
                                }
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Return active carrier settings for the locker business, including whether each carrier requires member number and/or tracking number."
                    },
                    "response": []
                },
                {
                    "name": "Validate carrier package identifiers",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/lookup-package",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "lookup-package"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Validate carrier_id plus tracking_number/member_number according to carrier settings, then return any existing unshelved placeholder package in the locker warehouse."
                    },
                    "response": []
                },
                {
                    "name": "Lookup a stock-in placeholder by pickup code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/lookup-by-code",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "lookup-by-code"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Resolve an unshelved carrier package placeholder by its internal one-time pickup code so the operator can place it into a smart locker compartment."
                    },
                    "response": []
                },
                {
                    "name": "Suggest an empty smart locker compartment",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/suggest-grid",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "suggest-grid"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Return the smallest currently empty smart-cell grid, plus a few alternatives. The caller can pass exclude_grid_ids after rejecting a suggested grid."
                    },
                    "response": []
                },
                {
                    "name": "Open a compartment for carrier package placement",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/open-and-place",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "open-and-place"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Open the selected compartment for the operator to place the carrier package. Inventory is not committed until confirm is called."
                    },
                    "response": []
                },
                {
                    "name": "Confirm carrier package stock-in",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/confirm",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "confirm"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Commit the placed package into inventory. If bind_inventory_id is provided, the API binds an existing placeholder resolved by pickup code. Otherwise it creates or binds a carrier package using carrier_id and identifiers. Returns the one-time pickup code and whether a customer binding exists for notification."
                    },
                    "response": []
                },
                {
                    "name": "Notify the bound customer for a shelved carrier package",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/operator/:deviceId/notify",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "operator",
                                ":deviceId",
                                "notify"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": "Smart locker device_id, or smart_locker_id when device_id is not configured."
                                }
                            ]
                        },
                        "description": "Queue the customer arrival notification for an already-shelved carrier package. A notification is queued only when carrier_setting_id and member_number match an existing customer carrier binding."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "SmartLocker",
            "item": [
                {
                    "name": "Inbound smart locker provider webhook receiver",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/smart-locker/:provider/webhook",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "smart-locker",
                                ":provider",
                                "webhook"
                            ],
                            "variable": [
                                {
                                    "key": "provider",
                                    "value": "",
                                    "description": "Smart locker provider key configured in Superroute."
                                }
                            ]
                        },
                        "description": "Receives provider-specific smart locker webhooks and routes them through the shared SmartLocker provider layer. For Mibox, Superroute verifies `X-MiBox-Timestamp` and `X-MiBox-Signature` with the Webhook Secret configured on the Mibox smart locker account, normalizes `grids.changed` events, updates local door status, and records close events.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"event\": \"grids.changed\",\n    \"request_id\": \"7d5414d9-8b94-4a61-a51e-a02c3ebfe102\",\n    \"smart_locker_id\": \"MLK-CPU-0001\",\n    \"snapshot_at\": \"2026-05-27T16:00:00Z\",\n    \"changes\": [\n        {\n            \"grid_id\": \"1\",\n            \"before\": {\n                \"grid_status\": \"open\",\n                \"fault_code\": null\n            },\n            \"after\": {\n                \"grid_status\": \"closed\",\n                \"fault_code\": null\n            },\n            \"changed_at\": \"2026-05-27T16:00:02Z\"\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Superbox native device event ingest (EMQX forwarder)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/smart-locker/superbox/ingest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "smart-locker",
                                "superbox",
                                "ingest"
                            ]
                        },
                        "description": "Receives Superbox smart locker device events forwarded by the platform EMQX rules. One JSON document per device MQTT publication: `{\"topic\": \"mibox/{locker_id}/<suffix>\", \"payload\": {...}}`. Supported topic suffixes: `status` (heartbeat, updates the device state registry), `grids-snapshot` (full grid snapshot; Superroute diffs it against the previous snapshot and routes door changes through the shared smart locker webhook pipeline), `event/photos` (POD photo URLs; triggers photo download jobs), `event/open-grids-result` (device acknowledgement of an open command; recorded on the matching smart locker logs), `event/manual-unlock-selfcheck` and `event/boot-rescan-finished`. Authenticated by the platform-level X-Superbox-Token header.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"topic\": \"mibox/GYB0BF020260/grids-snapshot\",\n    \"payload\": {\n        \"smart_locker_id\": \"GYB0BF020260\",\n        \"snapshot_at\": \"2026-06-12T18:21:47Z\",\n        \"grid_count\": 54,\n        \"grid_details\": [\n            {\n                \"grid_id\": \"G-01\",\n                \"grid_number\": 1,\n                \"grid_status\": \"closed\",\n                \"fault_code\": null,\n                \"updated_at\": \"2026-06-12T18:21:47Z\"\n            }\n        ]\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "What a scanned smart locker is, and what is in it",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/claim",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "claim"
                            ]
                        },
                        "description": "Smart Locker management from the SuperDepot app.\n\nThe code is scanned off the cabinet's operator screen and is presented on EVERY call rather than exchanged once for a session: it expires two minutes after it was drawn, so requiring it each time is what keeps \"I am standing at this cabinet\" true for the whole visit.\n\nThe code says where, never who. Identity is the bearer token; whether that account may act on this cabinet is checked separately — a client admin always may, an employee only with the Allow Smart Locker Management permission, and never a contractor. Every action writes a log line, successes and failures alike.\n\nThe code may travel in the body as `qr_token` or as the `X-Locker-Code` header.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Force one door open on a scanned smart locker",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/open-grid",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "open-grid"
                            ]
                        },
                        "description": "Smart Locker management from the SuperDepot app.\n\nThe code is scanned off the cabinet's operator screen and is presented on EVERY call rather than exchanged once for a session: it expires two minutes after it was drawn, so requiring it each time is what keeps \"I am standing at this cabinet\" true for the whole visit.\n\nThe code says where, never who. Identity is the bearer token; whether that account may act on this cabinet is checked separately — a client admin always may, an employee only with the Allow Smart Locker Management permission, and never a contractor. Every action writes a log line, successes and failures alike.\n\nThe code may travel in the body as `qr_token` or as the `X-Locker-Code` header.\n\nOpens through the same path the station console uses, so the door check and the proof capture are the same code. Logged with the actor whether it opens or not.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\",\n    \"grid_id\": 901\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Open every door on a scanned smart locker, with a reason",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/open-all",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "open-all"
                            ]
                        },
                        "description": "Smart Locker management from the SuperDepot app.\n\nThe code is scanned off the cabinet's operator screen and is presented on EVERY call rather than exchanged once for a session: it expires two minutes after it was drawn, so requiring it each time is what keeps \"I am standing at this cabinet\" true for the whole visit.\n\nThe code says where, never who. Identity is the bearer token; whether that account may act on this cabinet is checked separately — a client admin always may, an employee only with the Allow Smart Locker Management permission, and never a contractor. Every action writes a log line, successes and failures alike.\n\nThe code may travel in the body as `qr_token` or as the `X-Locker-Code` header.\n\nThe heaviest action here: it exposes every parcel in the cabinet. The reason is required and is written onto EACH door's own log line, not onto a summary that could be separated from them. A door that refuses is reported alongside the ones that opened rather than failing the whole run.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\",\n    \"reason\": \"Door fault survey\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Report something an operator can see at a scanned smart locker",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/report-anomaly",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "report-anomaly"
                            ]
                        },
                        "description": "What an operator standing at the cabinet can see and the cabinet cannot: a jammed door, a parcel in a compartment the records call empty, one that should be there and is not.\n\nRecorded on the cabinet's own log timeline, beside the door opens it usually follows, rather than as a ticket somewhere else. The kind is a closed list so a fault log stays groupable; the note carries the detail.\n\n`grid_id` is optional — a report about the cabinet as a whole names no door.\n\nPass the token as `qr_token` or `X-Locker-Code`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\",\n    \"kind\": \"door_stuck\",\n    \"note\": \"Door will not latch\",\n    \"grid_id\": 901\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Confirm a flagged smart locker door is shut",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/resolve-door",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "resolve-door"
                            ]
                        },
                        "description": "Confirm a flagged door is really shut, putting its compartment back into use.\n\nA door the system believes is still open blocks its own compartment: it will not be offered for a parcel and cannot be opened again. Only somebody in front of it can say whether it is really shut.\n\nThis is the ONLY anomaly with a resolve action. The others mean writing off a parcel the records promise, or accepting one nobody expected, and neither is a thing to do from a phone on one person's word — those are reported instead.\n\nA door the system has not flagged is refused rather than answered \"done\", so a stale screen cannot appear to fix a healthy door.\n\nPass the token as `qr_token` or `X-Locker-Code`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\",\n    \"grid_id\": 901,\n    \"note\": \"Latched by hand\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "What the records say is behind one smart locker door",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/door-contents",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "door-contents"
                            ]
                        },
                        "description": "The list an operator ticks against what they can actually see. Read before the door opens as well as after: \"the records say two and there is one\" is a finding, not a failure.\n\nPass the token as `qr_token` or `X-Locker-Code`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\",\n    \"grid_id\": 901\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Take parcels out of a smart locker door, under a reason",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/smart-locker/manage/take-out",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "smart-locker",
                                "manage",
                                "take-out"
                            ]
                        },
                        "description": "Taking parcels back OUT of a cabinet.\n\n**handover** ends in the ordinary pickup, the same settlement the cabinet's own screen makes when a customer collects, witnessed by the operator rather than signed for. **overdue_return** and **relay** both end in a stock out under their own reason: neither pretends the parcel reached a warehouse or another cabinet, because it has not — it is in somebody's hands, and the next movement is recorded through the receiving and stock-in flows when it actually happens.\n\nWhether the recipient hears about any of it is the business's own notification settings; these paths emit the events and decide nothing.\n\nPass the token as `qr_token` or `X-Locker-Code`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"qr_token\": \"slm1|42|1756500000|k3n8x2p1qa.9f2c…\",\n    \"grid_id\": 901,\n    \"inventory_ids\": [\n        55021\n    ],\n    \"reason\": \"handover\",\n    \"note\": \"Collected at the counter\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "SuperPrinter",
            "item": [
                {
                    "name": "Pair a SuperPrinter agent with a one-time code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/print-nodes/pair",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "print-nodes",
                                "pair"
                            ]
                        },
                        "description": "Redeems the one-time pairing code a client admin generated for a print node. On success the node is bound to the calling PC (fingerprint stored) and a long-lived node_token is returned for all subsequent agent calls. Public endpoint — the pairing code is the credential; it is single-use and expires.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"pairing_code\": \"K2M9XY\",\n    \"hostname\": \"STORE-PC-01\",\n    \"os\": \"windows\",\n    \"os_user\": \"cashier\",\n    \"machine_id\": \"a1b2c3-machine-guid\",\n    \"agent_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Agent heartbeat + printer inventory",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/print-nodes/heartbeat",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "print-nodes",
                                "heartbeat"
                            ]
                        },
                        "description": "Refreshes the node's last-seen time and stores the printer list the agent enumerated. Authenticated by the node_token.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"printers\": [\n        {\n            \"name\": \"HP M1005\",\n            \"default\": true\n        },\n        {\n            \"name\": \"TSC TTP-244\",\n            \"default\": false\n        }\n    ],\n    \"agent_version\": \"1.0.0\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Poll queued print jobs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/print-nodes/jobs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "print-nodes",
                                "jobs"
                            ]
                        },
                        "description": "Atomically claims this node's queued (non-expired) jobs, marking them sent so a repeat poll will not return them again. Each job is pdf (download payload_url) or raw (inline base64 payload or payload_url; raw_host targets a 9100 printer)."
                    },
                    "response": []
                },
                {
                    "name": "Acknowledge a job outcome",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/print-nodes/jobs/:jobId/ack",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "print-nodes",
                                "jobs",
                                ":jobId",
                                "ack"
                            ],
                            "variable": [
                                {
                                    "key": "jobId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Reports the result of a job. Authenticated by the node_token.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"status\": \"printed\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Submit a print job to a node",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/print-jobs",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "print-jobs"
                            ]
                        },
                        "description": "Queues a print job for one of the authenticated business's SuperPrinter nodes and pushes a doorbell to it over EMQX (the agent also polls as fallback). payload_type is pdf (payload_url the agent downloads) or raw (inline base64 payload or payload_url — ZPL/TSPL/ESC-POS or a bitmap-in-command; raw_host targets a 9100 printer).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"print_node_id\": 12,\n    \"payload_type\": \"pdf\",\n    \"payload_url\": \"https://files.example/invoice.pdf\",\n    \"printer_name\": \"HP M1005\",\n    \"options\": {\n        \"copies\": 2,\n        \"duplex\": \"long\"\n    },\n    \"source\": \"outbound_order:8831\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Print job status",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/print-jobs/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "print-jobs",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the lifecycle status of a job owned by the authenticated business."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "ThirdPartyDelivery",
            "item": [
                {
                    "name": "List partner locker scopes",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-scopes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-scopes"
                            ]
                        },
                        "description": "Returns active platform grants, partner-managed child scopes, and current eligible-location counts for the authenticated provider."
                    },
                    "response": []
                },
                {
                    "name": "Create a partner locker scope",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-scopes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-scopes"
                            ]
                        },
                        "description": "Create a partner locker scope",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"parent_scope_group_id\": 12,\n    \"name\": \"Downtown evening lockers\",\n    \"access_mode\": \"restricted_locations\",\n    \"location_ids\": [\n        101,\n        102\n    ],\n    \"rules\": {\n        \"version\": 1,\n        \"type\": \"group\",\n        \"combinator\": \"all\",\n        \"children\": []\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Update a partner locker scope",
                    "request": {
                        "method": "PATCH",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-scopes/:scopeId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-scopes",
                                ":scopeId"
                            ],
                            "variable": [
                                {
                                    "key": "scopeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Update a partner locker scope"
                    },
                    "response": []
                },
                {
                    "name": "Disable a partner locker scope",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-scopes/:scopeId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-scopes",
                                ":scopeId"
                            ],
                            "variable": [
                                {
                                    "key": "scopeId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Disable a partner locker scope"
                    },
                    "response": []
                },
                {
                    "name": "List partner locker deliveries",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries"
                            ],
                            "query": [
                                {
                                    "key": "external_order_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "date_from",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "date_to",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "mock",
                                    "value": "",
                                    "description": "Environment filter: true lists sandbox deliveries only, false lists production deliveries only; omit for both."
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Lists delivery-code aggregates. Full access codes are never returned. Authorized provider users receive the order-level pickup code after successful settlement."
                    },
                    "response": []
                },
                {
                    "name": "Create a partner locker delivery code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries"
                            ]
                        },
                        "description": "Creates one order-level unified code, package intents, and a location-level capacity reservation in one transaction. An identical idempotent replay returns the original result. The recipient pickup code is minted in the same transaction and returned as pickup_code, so the partner can announce one code to the recipient from the moment the task exists; it is the same code the open response and the doors_opened / delivered webhooks carry, and it becomes usable at the cabinet once the driver confirms the deposit. A task cancelled or expired before any deposit releases the code.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"external_order_id\": \"FOOD-20260714-1001\",\n    \"external_driver_id\": \"DRIVER-77\",\n    \"recipient\": {\n        \"phone\": \"+14165550123\"\n    },\n    \"platform_scope_group_id\": 12,\n    \"partner_scope_group_id\": 19,\n    \"access_mode\": \"restricted_locations\",\n    \"restricted_location_ids\": [\n        101,\n        102\n    ],\n    \"packages\": [\n        {\n            \"external_package_id\": \"BAG-1\",\n            \"length\": 30,\n            \"width\": 20,\n            \"height\": 15,\n            \"dimension_unit\": \"cm\"\n        }\n    ],\n    \"expires_in_minutes\": 120\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get a partner locker delivery",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/:deliveryNo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                ":deliveryNo"
                            ],
                            "variable": [
                                {
                                    "key": "deliveryNo",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "An authorized active detail may include the complete access code. After delivery, authorized provider users receive the independent group pickup code and confirmed package results. Terminal details never expose either code."
                    },
                    "response": []
                },
                {
                    "name": "Cancel a partner locker delivery",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/:deliveryNo/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                ":deliveryNo",
                                "cancel"
                            ],
                            "variable": [
                                {
                                    "key": "deliveryNo",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Cancels an unconsumed delivery and releases its capacity reservation. Repeated cancellation returns the current cancelled result."
                    },
                    "response": []
                },
                {
                    "name": "Find eligible locker locations near an address or coordinates",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-locations"
                            ],
                            "query": [
                                {
                                    "key": "address",
                                    "value": "",
                                    "description": "Free-text address; required when latitude/longitude are not supplied."
                                },
                                {
                                    "key": "city",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "province",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "country",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "postcode",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "latitude",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "longitude",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "platform_scope_group_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "partner_scope_group_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "mock",
                                    "value": "",
                                    "description": "Return sandbox locations instead of production ones. A location is only listed when it holds a cabinet of the matching kind, so the ids returned here are exactly the ids a delivery created with the same mock value can use."
                                },
                                {
                                    "key": "online_only",
                                    "value": "",
                                    "description": "Only count cabinets the platform can currently reach. Default true: an offline cabinet cannot take a parcel, and a location whose every cabinet is offline is left out of the listing entirely. Pass false to list every eligible cabinet regardless of device state (and to skip the device-state lookup). A cabinet whose provider cannot be reached at all is 'unknown', not offline, and stays listed."
                                },
                                {
                                    "key": "include_lockers",
                                    "value": "",
                                    "description": "Add a lockers[] array to every location listing the cabinets it holds (shelf_id, device_id, name, status, online, mock, compartment_count). Off by default because it needs a device-state lookup."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the provider's eligible locker locations sorted by distance from a query point, so partners can pick a location_id before creating a delivery or opening doors remotely. Provide either latitude+longitude or a free-text address (optionally with city/province/country/postcode) that the platform geocodes. Results are limited to locations covered by the provider's active platform grants (optionally filtered to one grant / partner scope) that have at least one matching locker; with mock=true only the provider's own mock lockers count. Each location uses the standard address shape: address_1, address_2, city, province, country, postcode, plus id, code, name, latitude, longitude, distance_km, locker_count, and platform_scope_group_ids. online_only defaults to true: cabinets the provider reports as offline are not counted, and a location whose every cabinet is offline is left out of the listing — pass online_only=false to list every eligible cabinet and skip the device-state lookup entirely. A cabinet whose provider cannot be reached at all is unknown, not offline, and stays listed. include_lockers=true adds a lockers[] array to each location naming its cabinets and their state; online_locker_count/offline_locker_count/unknown_locker_count are null when neither option asked for device state."
                    },
                    "response": []
                },
                {
                    "name": "Rotate a delivery's access or pickup code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/:deliveryNo/rotate-code",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                ":deliveryNo",
                                "rotate-code"
                            ],
                            "variable": [
                                {
                                    "key": "deliveryNo",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Replaces one of the delivery's codes with a freshly minted one; the old code dies the instant the new one is written, on every cabinet and API entry point alike. code_type access rotates the courier delivery code and is allowed only while the code is unused (draft / active); code_type pickup rotates the recipient pickup code and is allowed only once the deposit is settled and not fully collected (group ready / partially picked up). The new code is revealed only in this response. notify_recipient (pickup only) re-sends the recipient notification carrying the new code. The delivery must belong to the calling provider. The rotation also emits the partner_locker.delivery.code_rotated webhook, which names what happened but never carries the code.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"code_type\": \"access\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Remotely open locker doors for a delivery access code at a location",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/open",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "open"
                            ]
                        },
                        "description": "Opens locker compartments for one of the provider's own delivery access codes at the given location, so the driver does not need to type the code on a terminal. The platform picks an eligible locker cabinet at the location (allocation may span several cabinets there). location_id may be omitted when the code was created for exactly one location (a single restricted location, or a scope snapshot with exactly one eligible location) - it is then inferred. Validates provider ownership, per-provider locker access, and scope eligibility, then allocates compartments and sends the door-open command. Returns a claim_token used to confirm or abort the attempt. Calling confirm is optional for a remote open: the platform settles the deposit by itself as soon as the cabinet has reported every opened door closed again (the delivered webhook then carries confirmed_by = door_close; if the confirmation window lapses with all doors verified closed it is settled with confirmed_by = timeout_door_closed). An explicit confirm afterwards is idempotent and returns the same result. Only a door that stays open, or whose state cannot be verified, still leads to manual attention. From the moment the doors open the response also carries the delivery's recipient pickup_code; the doors_opened webhook announces the same code, and it stays the active code once the courier confirms the deposit (it only becomes usable for pickup after that confirmation). When compartments cannot be opened (failed_retryable or a partial open), the attempt additionally carries `availability` — per-location counts of total / occupied / held (other in-progress deliveries) / blocked (awaiting manual resolution after an abnormal open) / door_open / free compartments — and `failure_hint`, a human-readable explanation of the concrete reason with the next step (resolve blocked compartments, release stale holds, or retry once space frees up; the access code stays valid until it expires). The same lookup abuse guard and rate limits as the terminal apply. For a task created with delivery_mode = grouped, compartments are chosen in one cabinet when a cabinet at the location can take every package, otherwise in as few cabinets of that location as possible (never another location); this is a preference only - when the location is short of space the doors that can open still open and the driver may confirm a partial delivery, after which the undelivered packages automatically become a follow-up delivery (see confirm).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"location_id\": 101,\n    \"access_code\": \"8Q4W2Z\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Confirm a remotely opened locker deposit",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/confirm",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "confirm"
                            ]
                        },
                        "description": "Settles a remote door-opening attempt after the driver has placed the packages: creates inventory, marks the delivery delivered, and issues the recipient pickup flow. Optional since the platform settles a remote open automatically once every opened door is verified closed; calling it on an attempt the door-close already settled is idempotent and returns the same result, whose confirmed_by names the path that settled (courier_terminal, partner_api, door_close, timeout_door_closed, console). decision must be confirm_all when every requested compartment opened, or accept_partial when only some did. The attempt is identified by claim_token; location_id is an optional consistency check against the attempt's location. For a grouped task (delivery_mode = grouped) settled with accept_partial, the packages left undelivered automatically become a follow-up delivery for the same order and recipient with its own access code; the response carries it as split_delivery (delivery_no, requested_package_count, access_code, expires_at, replayed) and null when nothing was split. The parent reports it as split_delivery_no, the child as split_from_delivery_no.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"claim_token\": \"b1f9...64chars\",\n    \"decision\": \"confirm_all\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Abort a remotely opened locker delivery attempt",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/abort",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "abort"
                            ]
                        },
                        "description": "Aborts an in-progress remote attempt identified by claim_token (location_id is an optional consistency check). Before any door-open request the delivery is restored for retry and leased compartments are released; after a door has been opened the attempt is flagged for manual attention instead.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"claim_token\": \"b1f9...64chars\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Reject an opened compartment and re-open a different one (before confirmation)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/reassign",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "reassign"
                            ]
                        },
                        "description": "While an attempt is awaiting confirmation, the courier rejects the compartment opened for one package and the platform re-allocates and re-opens a different one. reason is door_not_open, compartment_occupied, or too_small; too_small forces a strictly larger compartment. Identify the attempt by claim_token and the package by package_sequence. If no suitable compartment remains, that package fails with NO_AVAILABLE_COMPARTMENT and the courier should switch lockers.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"claim_token\": \"b1f9...64chars\",\n    \"package_sequence\": 1,\n    \"reason\": \"too_small\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Cancel an opened placement and terminate the delivery (before confirmation)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/cancel-placement",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "cancel-placement"
                            ]
                        },
                        "description": "The courier asserts that nothing was deposited (e.g. wrong locker, or no larger compartment is available). Every compartment opened for this attempt is released and the delivery is terminated as cancelled, emitting a partner_locker.delivery_cancelled webhook. Distinct from abort (which flags manual attention after a door opened) and from the delivery cancel endpoint (which only cancels tasks that never reached a locker).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"claim_token\": \"b1f9...64chars\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Reopen a just-confirmed delivery's compartments to correct a wrong placement",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/reopen",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "reopen"
                            ]
                        },
                        "description": "Within the correction window (60 seconds by default) after a drop-off is confirmed, reopens the same compartments the parcels were deposited into so the courier can fix a wrong placement. The delivery stays delivered; only door-open commands are re-issued. Identify the delivery by delivery_no (preferred) or the original access_code. The same correction is available on the locker screen by re-entering the delivery code. Every correction reopen emits a partner_locker.delivery.correction_reopened webhook event to subscribed endpoints with the reopened compartments in the payload.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"delivery_no\": \"PLD-20260721-000123\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Pickup-stage remote open: open the compartments still holding the provider's delivered packages",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-deliveries/pickup-open",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-deliveries",
                                "pickup-open"
                            ]
                        },
                        "description": "Once a drop-off is confirmed the packages sit in locker compartments awaiting pickup. This endpoint lets the partner open those compartments remotely — for example to assist a recipient standing at the locker or to let a courier collect the parcels — provided the goods in the compartments belong to the requesting provider: the delivery (or the pickup code's package group) must be owned by the resolved provider, otherwise the request is refused before any door command is issued. Identify the delivery by delivery_no (preferred) or by the group pickup_code that was issued to the recipient. Every compartment that opens successfully is settled exactly like the locker's own pickup screen settles it: the parcel is stocked out, the group item is marked picked up, and when the last parcel leaves the delivery moves to picked_up and the partner_locker.delivery.picked_up webhook event fires. Compartments that fail to open stay ready and the call can simply be retried for the remainder.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"delivery_no\": \"PLD-20260721-000123\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "List the provider's mock lockers",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers"
                            ]
                        },
                        "description": "Sandbox tooling: lists the provider's virtual locker cabinets with per-compartment door state, occupancy, and dimensions. Mock lockers behave like real hardware in every API flow (create delivery with mock=true, remote open, confirm) but never mix with real locker capacity. Each locker carries its shelf_id and each compartment its grid_id and uppercase pickup_locker_code, so console state can be matched to API traffic even when a compartment is empty. Compartments are ordered by the numeric pickup locker number, so R-2 precedes R-10. Each compartment reports what it holds: parcels[] with inventory_id (the same id the delivery API and the webhooks report), carrier_inventory_id, reference, final_pickup_locker_code, pickup_code, inventory_pickup_code and source (seeded or flow), plus hold when a sandbox delivery is still holding the compartment. final_pickup_locker_code is derived from the parcel's grid_id using the same cabinet-layout rule as delivery packages and is normalized to uppercase (for example R-7). pickup_code is the recipient-facing order/group code used by notifications and real lockers; it falls back to the single-inventory code for an ungrouped parcel. inventory_pickup_code always preserves that single-inventory code. parcel_count totals the cabinet."
                    },
                    "response": []
                },
                {
                    "name": "Generate a mock locker cabinet",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers"
                            ]
                        },
                        "description": "Creates a virtual cabinet (shelf + compartments) at one of the client's active locations for early integration development before real-hardware testing. The returned device_id is used in the remote open API and the mock door/device controls. Limited per provider.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"location_id\": 101,\n    \"name\": \"Dev Cabinet\",\n    \"compartments\": 8\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Force a mock compartment door open or closed",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId/door",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId",
                                "door"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Simulates the physical world: action=close mimics the driver shutting the door after a deposit (letting the door-verification cycle settle the compartment); action=open mimics a hardware fault or manual opening. Leaving a door open blocks that compartment for future openings exactly like real hardware.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"compartment\": 1,\n    \"action\": \"close\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Toggle a mock locker online or offline",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId/device",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId",
                                "device"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Offline mock lockers reject door-open commands with DEVICE_OFFLINE and report offline to eligibility checks, letting partners test failure handling.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"online\": false\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Switch cabinet flows on a mock locker",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId/features",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId",
                                "features"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "A mock locker is a whole cabinet: it is created with every terminal flow enabled, exactly as a real cabinet can be configured. This replaces the enabled set with the flows sent, so a partner can rehearse against a cabinet that offers only some of them. Sending an empty list disables every flow. Unknown keys are rejected.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"features\": [\n        \"dropoff\",\n        \"package_query\",\n        \"pickup_by_code\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Place a test parcel in a mock locker",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId/parcels",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId",
                                "parcels"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Puts a parcel in the first free compartment of a sandbox cabinet so the pickup and query flows have something to find, without having to run a delivery first. The row is written exactly as a confirmed deposit writes it — same inventory type, the provider's own managed carrier, the same per-carrier sequence — and the returned pickup_code is the ordinary inventory code the pickup-by-code screen resolves. Requires the provider to have a managed carrier (bound when locker access is enabled).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"reference\": \"MOCK-TEST-1\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Empty a mock locker cabinet",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId/parcels",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId",
                                "parcels"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Takes every test parcel back out of a sandbox cabinet and releases its pickup code, and frees any compartment a sandbox delivery is still holding (leased or opened but never confirmed). A mock cabinet holds nothing but test data, so this covers parcels the console seeded AND parcels a rehearsed delivery or a terminal flow placed. Pass compartments to limit it to single compartments; omit it to empty the whole cabinet.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"compartments\": [\n        1,\n        3\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Declare mock compartment parcels physically taken",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId/parcels/taken",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId",
                                "parcels",
                                "taken"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "The closing move after a forced door open on an occupied mock compartment: declares the parcels in the named compartments physically taken. Runs the full pickup settlement including the delivery-level finalization — the delivery advances to picked_up and the picked_up webhook fires — while console-seeded parcels are simply removed. Doors close and every verification/business blocker on the compartments is resolved, so they are immediately usable again. At least one compartment is required: taking is a per-door physical event, never a whole-cabinet default.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"compartments\": [\n        1\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Delete a mock locker cabinet",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-mock/lockers/:deviceId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-mock",
                                "lockers",
                                ":deviceId"
                            ],
                            "variable": [
                                {
                                    "key": "deviceId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Removes the virtual cabinet and its compartments. Refused while any compartment still holds inventory or an active allocation."
                    },
                    "response": []
                },
                {
                    "name": "List assigned third-party delivery orders",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/orders",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "orders"
                            ],
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Items per page, maximum 100"
                                }
                            ]
                        },
                        "description": "Returns orders assigned to the authenticated third-party delivery provider. The provider can be a flagged customer or another Superroute client. Each order carries a `legs` array — the external orders booked for it: one whole-order booking (package_id null) for carriers that accept multi-piece shipments, one booking per package otherwise — and each package carries `package_id`, `third_party_order_number` and `outcome` (delivered / failed / returned / rejected / lost / cancelled, null while unresolved). All of these are additive; existing fields are unchanged."
                    },
                    "response": []
                },
                {
                    "name": "Get one assigned third-party delivery order",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/orders/:assignmentNo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "orders",
                                ":assignmentNo"
                            ],
                            "variable": [
                                {
                                    "key": "assignmentNo",
                                    "value": "",
                                    "description": "Assignment number"
                                }
                            ]
                        },
                        "description": "Returns one assignment for the authenticated provider and marks it as pulled. The payload carries the same additive `legs` array and per-package `outcome` as the list endpoint."
                    },
                    "response": []
                },
                {
                    "name": "Accept a third-party delivery assignment",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/orders/:assignmentNo/accept",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "orders",
                                ":assignmentNo",
                                "accept"
                            ],
                            "variable": [
                                {
                                    "key": "assignmentNo",
                                    "value": "",
                                    "description": "Assignment number"
                                }
                            ]
                        },
                        "description": "Marks an assignment as accepted by the authenticated provider."
                    },
                    "response": []
                },
                {
                    "name": "Reject a third-party delivery assignment",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/orders/:assignmentNo/reject",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "orders",
                                ":assignmentNo",
                                "reject"
                            ],
                            "variable": [
                                {
                                    "key": "assignmentNo",
                                    "value": "",
                                    "description": "Assignment number"
                                }
                            ]
                        },
                        "description": "Rejects an assignment. Superroute will attempt the next matching provider; if none remain, the order falls back to self-delivery. Passing leg_no or external_order_number rejects only that booking of a split push; the remaining bookings keep running and an alert is raised for the refused package."
                    },
                    "response": []
                },
                {
                    "name": "Submit a third-party delivery status update",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/updates",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "updates"
                            ]
                        },
                        "description": "Submits an action_code or external_event_code. Superroute creates the matching order status, tracking event, and operation event. The assignment is located by the (identifier, identifier_type) pair. external_event_code is resolved through the provider's configured event mappings first, then falls back to the adapter's built-in mapping (for example Instadispatch `SHIPMENT_DELIVERED` -> `delivered`). A package reference (package_id / package_number / tracking_number / third_party_package_number, or the `packages` array) scopes the update to those parcels; without one the update applies to the whole order exactly as before. When only some parcels of an order are delivered the order moves to Partial Delivered (23) instead of Successful (8)."
                    },
                    "response": []
                },
                {
                    "name": "Submit third-party delivery POD",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/pod",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "pod"
                            ]
                        },
                        "description": "Uploads POD photos/signature for an assigned order. Supports JSON base64 payloads and multipart files. The assignment is located by (identifier, identifier_type). The target operation event is optionally located by (event_reference, event_reference_type) — external_event_code is resolved through the provider's configured event mappings first, then falls back to the adapter's built-in mapping."
                    },
                    "response": []
                },
                {
                    "name": "Inbound third-party delivery webhook receiver (provider in URL)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/third-party-delivery/webhook/:providerId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "third-party-delivery",
                                "webhook",
                                ":providerId"
                            ],
                            "variable": [
                                {
                                    "key": "providerId",
                                    "value": "",
                                    "description": "Third-party delivery provider ID. Shown on the provider's Webhook Registration URL."
                                }
                            ]
                        },
                        "description": "Preferred inbound endpoint for a third-party delivery provider. The provider ID is in the URL so carriers that cannot send custom headers still identify which provider the event belongs to. The adapter (Instadispatch, Intelcom, partner Superroute client, customer-as-carrier, etc.) is resolved from that provider's settings.\n\n**Authentication**: send `Authorization: Bearer <token>`. A dedicated webhook token is also accepted as the bare header value (`Authorization: <token>`), for carrier consoles that offer one free-text header field and no place for a scheme. The token may be the Superroute API token of the customer or client that owns the provider, or a dedicated webhook token generated on that provider. Dedicated webhook tokens can call only this webhook (and the shared legacy URL for the same provider) and cannot call any other Superroute API. Custom headers such as `X-Provider-Id` are not required.\n\n**Provider resolution**: Superroute looks up the provider id from the path among webhook-enabled providers where `target_business_id` matches the authenticated user (client-type providers) or `customer_id` matches a Customers row whose `users_info_id` is the authenticated user (customer-type providers).\n\n**Auto-handover**: If the inbound event arrives while the assignment is still in `assigned/pulled/accepted` state, Superroute automatically marks the order as `HANDED_OVER_TO_THE_THIRD_PARTY_CARRIER` before applying the event's action code. Both transitions are recorded in the lifecycle timeline."
                    },
                    "response": []
                },
                {
                    "name": "Inbound third-party delivery webhook receiver (legacy shared URL)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/third-party-delivery/webhook",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "third-party-delivery",
                                "webhook"
                            ]
                        },
                        "description": "Legacy shared inbound endpoint kept for existing registrations. Prefer `POST /third-party-delivery/webhook/{providerId}`, which puts the provider ID in the URL so carriers that cannot send custom headers still identify the provider. The adapter (Instadispatch, Intelcom, partner Superroute client, customer-as-carrier, etc.) is resolved from the provider settings on the Superroute side.\n\n**Authentication**: send `Authorization: Bearer <token>`. A dedicated webhook token is also accepted as the bare header value (`Authorization: <token>`), for carrier consoles that offer one free-text header field and no place for a scheme. The token may be the Superroute API token of the customer or client that owns the provider, or a dedicated webhook token generated on that provider. Dedicated webhook tokens can call only the TPD webhook endpoints and cannot call any other Superroute API. When using a dedicated token the provider is taken from the token, so `X-Provider-Id` is not required.\n\n**Provider resolution**: Superroute looks up providers where `target_business_id` matches the authenticated user (client-type providers) or `customer_id` matches a Customers row whose `users_info_id` is the authenticated user (customer-type providers). If exactly one webhook-enabled provider matches, it is selected automatically. If multiple match, the request MUST also pass `provider_id` (in the JSON body, in `?provider_id=`, or as the `X-Provider-Id` header) to disambiguate.\n\n**Auto-handover**: If the inbound event arrives while the assignment is still in `assigned/pulled/accepted` state, Superroute automatically marks the order as `HANDED_OVER_TO_THE_THIRD_PARTY_CARRIER` before applying the event's action code. Both transitions are recorded in the lifecycle timeline."
                    },
                    "response": []
                },
                {
                    "name": "What this token may sell, with the terms attached",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/resale/capabilities",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "resale",
                                "capabilities"
                            ]
                        },
                        "description": "Cross-deployment resale. A reseller on another Superroute installation presents the resale token the grantor issued it — a credential scoped to that one arrangement, revocable on its own, and with no user session behind it. Nothing outside the grants the token names is reachable through it, and a grant that has been suspended, expired or whose alliance ended stops answering even while the token is still valid.\n\nPass it as `X-Resale-Token`."
                    },
                    "response": []
                },
                {
                    "name": "What a described shipment would cost this reseller",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/resale/quote",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "resale",
                                "quote"
                            ]
                        },
                        "description": "Cross-deployment resale. A reseller on another Superroute installation presents the resale token the grantor issued it — a credential scoped to that one arrangement, revocable on its own, and with no user session behind it. Nothing outside the grants the token names is reachable through it, and a grant that has been suspended, expired or whose alliance ended stops answering even while the token is still valid.\n\nPass it as `X-Resale-Token`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"postcode\": \"M5V 2T6\",\n    \"packages\": [\n        {\n            \"weight\": 2500\n        },\n        {\n            \"weight\": 2500\n        }\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Book a shipment on the grantor's deployment and get the label back",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/resale/book",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "resale",
                                "book"
                            ]
                        },
                        "description": "The booking half of a cross-deployment resale, on the resale token rather than on the grantor's account password.\n\nThe SERVICE is taken from the grant, never from the caller: anything sent under a shipping-method key is discarded, so a token can only buy what was published to it.\n\n`Idempotency-Key` is required. Presenting the same key twice returns the first booking (with `replayed: true`) rather than buying a second label, so a request that timed out is safe to retry.\n\nBecause a real shipment exists here, the two cost-based bases (`passthrough`, `higher`) price on this endpoint even though they refuse on `/resale/quote`.\n\nPass the token as `X-Resale-Token`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"grant_id\": 12,\n    \"shipment\": {\n        \"postcode\": \"M5V 2T6\",\n        \"address_1\": \"1 King St W\",\n        \"packages\": [\n            {\n                \"weight\": 2500,\n                \"description\": \"Grams\"\n            }\n        ]\n    }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Withdraw a booking made under a resale token",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/resale/cancel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "resale",
                                "cancel"
                            ]
                        },
                        "description": "Resolved by the reference the booking answered with, never by an order id on the grantor's deployment — a token that could name an order could cancel orders it never booked.\n\nPass the token as `X-Resale-Token`.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"booking_ref\": \"rsb_9f2c1a7de4b05c38a1d6e0f4\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Tracking events for a booking made under a resale token",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/resale/tracking",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "resale",
                                "tracking"
                            ],
                            "query": [
                                {
                                    "key": "booking_ref",
                                    "value": "",
                                    "description": "The reference the booking answered with."
                                }
                            ]
                        },
                        "description": "Scoped the same way cancel is: this token's own bookings and nothing else on the grantor's deployment.\n\nPass the token as `X-Resale-Token`."
                    },
                    "response": []
                },
                {
                    "name": "List eligible locker locations for a grant or partner scope",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/locker-scope-locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "locker-scope-locations"
                            ],
                            "query": [
                                {
                                    "key": "platform_scope_group_id",
                                    "value": "",
                                    "description": "Limit to one active platform grant."
                                },
                                {
                                    "key": "partner_scope_group_id",
                                    "value": "",
                                    "description": "Limit to one active partner sub-scope (parent grant is resolved automatically when omitted)."
                                },
                                {
                                    "key": "mock",
                                    "value": "",
                                    "description": "Return sandbox locations instead of production ones. A location is only listed when it holds a cabinet of the matching kind, so the ids returned here are exactly the ids a delivery created with the same mock value can use."
                                },
                                {
                                    "key": "online_only",
                                    "value": "",
                                    "description": "Only count cabinets the platform can currently reach. Default true: an offline cabinet cannot take a parcel, and a location whose every cabinet is offline is left out of the listing entirely. Pass false to list every eligible cabinet regardless of device state (and to skip the device-state lookup). A cabinet whose provider cannot be reached at all is 'unknown', not offline, and stays listed."
                                },
                                {
                                    "key": "include_lockers",
                                    "value": "",
                                    "description": "Add a lockers[] array to every location listing the cabinets it holds (shelf_id, device_id, name, status, online, mock, compartment_count). Off by default because it needs a device-state lookup."
                                }
                            ]
                        },
                        "description": "Returns every locker location currently available to the authenticated third-party delivery provider. Omit both scope ids to list the full ceiling (union of active platform grants, or every eligible location when no grants exist). Pass platform_scope_group_id and/or partner_scope_group_id to narrow the list. Each location includes id, unique code, name, address_1, address_2, city, province, country, postcode, latitude/longitude, locker_count, and the platform grants that cover it. Requires locker delivery access (generate codes or manage partner scopes). mock=true counts only the provider's mock cabinets. online_only defaults to true: cabinets the provider reports as offline are not counted, and a location whose every cabinet is offline is left out of the listing — pass online_only=false to list every eligible cabinet and skip the device-state lookup entirely. A cabinet whose provider cannot be reached at all is unknown, not offline, and stays listed. include_lockers=true adds a lockers[] array to each location naming its cabinets and their state; online_locker_count/offline_locker_count/unknown_locker_count are null when neither option asked for device state."
                    },
                    "response": []
                },
                {
                    "name": "Carrier warehouse-intake profile",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/carrier-profile",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "carrier-profile"
                            ]
                        },
                        "description": "Who the carrier is to this client, which identification mode it operates in (M1 member-number only / M2 tracking-number only / M3 either / M4 neither), which fields are required on submission, which endpoint families are open, and the rate limit. Member numbers are matched case-insensitively and are never rewritten."
                    },
                    "response": []
                },
                {
                    "name": "List the client's active receiving locations",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/carrier-intake-locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "carrier-intake-locations"
                            ]
                        },
                        "description": "Active warehouses and pickup points of the client this carrier delivers to, with address and coordinates."
                    },
                    "response": []
                },
                {
                    "name": "List this carrier's packages in the client's warehouses",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/carrier-packages",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "carrier-packages"
                            ],
                            "query": [
                                {
                                    "key": "status",
                                    "value": "",
                                    "description": "in_staging | shelved | picked_up"
                                },
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": "Restrict to one receiving location"
                                },
                                {
                                    "key": "member_number",
                                    "value": "",
                                    "description": "Exact match, case-insensitive"
                                },
                                {
                                    "key": "carrier_reference_number",
                                    "value": "",
                                    "description": "Exact match"
                                },
                                {
                                    "key": "carrier_order_id",
                                    "value": "",
                                    "description": "Exact match"
                                },
                                {
                                    "key": "batch",
                                    "value": "",
                                    "description": "Exact match"
                                },
                                {
                                    "key": "ref",
                                    "value": "",
                                    "description": "Exact match"
                                },
                                {
                                    "key": "stocked_in_from",
                                    "value": "",
                                    "description": "YYYY-MM-DD"
                                },
                                {
                                    "key": "stocked_in_to",
                                    "value": "",
                                    "description": "YYYY-MM-DD"
                                },
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": "Defaults to 1"
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": "Defaults to 50, capped at 200"
                                }
                            ]
                        },
                        "description": "Held packages (in_staging / shelved) plus already collected ones (picked_up). A confirmed pickup deletes the inventory row, so collected packages are read from the pickup history. Recipient reachability is reported as booleans only — no phone or email is ever returned. Each held package also reports `group`: null for a package entered on its own, otherwise the multi-package pickup group it belongs to — group_id, status, the shared pickup_code that collects the whole order (withheld while the group is pending), this package's sequence, package_count and picked_up_count. Picked-up packages report null."
                    },
                    "response": []
                },
                {
                    "name": "Get one carrier package",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/carrier-packages/:packageNo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "carrier-packages",
                                ":packageNo"
                            ],
                            "variable": [
                                {
                                    "key": "packageNo",
                                    "value": "",
                                    "description": "e.g. 910-1 or 1"
                                }
                            ]
                        },
                        "description": "package_no is \"{carrier_setting_id}-{sequence}\"; the bare sequence is also accepted. A package_no carrying another carrier's id never resolves. Each held package also reports `group`: null for a package entered on its own, otherwise the multi-package pickup group it belongs to — group_id, status, the shared pickup_code that collects the whole order (withheld while the group is pending), this package's sequence, package_count and picked_up_count. Picked-up packages report null."
                    },
                    "response": []
                },
                {
                    "name": "Reset a carrier package's pickup code",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/carrier-packages/:packageNo/reset-pickup-code",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "carrier-packages",
                                ":packageNo",
                                "reset-pickup-code"
                            ],
                            "variable": [
                                {
                                    "key": "packageNo",
                                    "value": "",
                                    "description": "e.g. 910-1 or 1"
                                }
                            ]
                        },
                        "description": "Retires the package's current pickup code and mints a replacement. The old code stops resolving immediately at every pickup entry point — codes are read from the central registry at use time, never cached. A carrier may only reset packages it submitted; package_no is \"{carrier_setting_id}-{sequence}\" and the bare sequence is also accepted. The reset is written to the package activity log as event_type=pickup_code_reset, recording who did it and from which IP, with masked codes only — no full code is ever stored in the log. When the package is already shelved and notify_recipient is true, the recipient is notified again with the new code; a package still in the staging area is never notified, because its code has not been announced yet. A collected package no longer has an inventory row, so it returns CARRIER_PACKAGE_NOT_FOUND — there is no code left to reset.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"notify_recipient\": true\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Usage summary for the authenticated provider",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/usage/summary",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "usage",
                                "summary"
                            ],
                            "query": [
                                {
                                    "key": "date_from",
                                    "value": "",
                                    "description": "YYYY-MM-DD. Defaults to 28 days before date_to. Ranges longer than 92 days are clamped to the most recent 92."
                                },
                                {
                                    "key": "date_to",
                                    "value": "",
                                    "description": "YYYY-MM-DD. Defaults to today."
                                },
                                {
                                    "key": "location_id",
                                    "value": "",
                                    "description": "Narrow the report to one locker location."
                                }
                            ]
                        },
                        "description": "Deliveries created, placed, cancelled, expired and failed, packages placed and collected, door failures and how long parcels occupied a compartment, over the selected period. Reports only this provider's own activity: no occupancy of the operator's lockers, no other provider's volume, and recipient counts are withheld below the privacy threshold (returned as null)."
                    },
                    "response": []
                },
                {
                    "name": "Day-by-day usage for the authenticated provider",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/usage/daily",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "usage",
                                "daily"
                            ],
                            "query": [
                                {
                                    "key": "date_from",
                                    "value": "",
                                    "description": "YYYY-MM-DD. Defaults to 28 days before date_to. Ranges longer than 92 days are clamped to the most recent 92."
                                },
                                {
                                    "key": "date_to",
                                    "value": "",
                                    "description": "YYYY-MM-DD. Defaults to today."
                                },
                                {
                                    "key": "location_id",
                                    "value": "",
                                    "description": "Narrow the report to one locker location."
                                }
                            ]
                        },
                        "description": "The same volume broken down by day, each figure counted on the day the thing actually happened. Reports only this provider's own activity: no occupancy of the operator's lockers, no other provider's volume, and recipient counts are withheld below the privacy threshold (returned as null)."
                    },
                    "response": []
                },
                {
                    "name": "Usage by locker location for the authenticated provider",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/third-party-delivery/usage/locations",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "third-party-delivery",
                                "usage",
                                "locations"
                            ],
                            "query": [
                                {
                                    "key": "date_from",
                                    "value": "",
                                    "description": "YYYY-MM-DD. Defaults to 28 days before date_to. Ranges longer than 92 days are clamped to the most recent 92."
                                },
                                {
                                    "key": "date_to",
                                    "value": "",
                                    "description": "YYYY-MM-DD. Defaults to today."
                                }
                            ]
                        },
                        "description": "Where this provider's parcels went, with each location's name and town, its collection rate, door failures and average dwell. Reports only this provider's own activity: no occupancy of the operator's lockers, no other provider's volume, and recipient counts are withheld below the privacy threshold (returned as null)."
                    },
                    "response": []
                },
                {
                    "name": "Inbound on-demand courier webhook (DoorDash Drive, Uber Direct)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/third-party-delivery/carrier-webhook/:apiType/:providerId",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "third-party-delivery",
                                "carrier-webhook",
                                ":apiType",
                                ":providerId"
                            ],
                            "variable": [
                                {
                                    "key": "apiType",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "providerId",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Public per-provider URL registered in the carrier's developer portal. No API token: DoorDash requests are authenticated with the provider's webhook auth token (Bearer or Basic password), Uber Direct requests with the X-Postmates-Signature HMAC-SHA256 of the raw body using the provider's webhook signing key. Recognised delivery-status events update the assignment like the classic webhook; courier location / unknown events are acknowledged and ignored; an unknown delivery id is answered 200 so the carrier stops retrying. Only api types flagged carrier_webhook (doordash_drive, uber_direct).",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"event_name\": \"DASHER_DROPPED_OFF\",\n    \"external_delivery_id\": \"SRDD-555-A77\",\n    \"delivery_status\": \"delivered\",\n    \"created_at\": \"2026-08-17T20:01:00Z\",\n    \"dasher_name\": \"Sam\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Tracking",
            "item": [
                {
                    "name": "Get public tracking info",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking/:trackingNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking",
                                ":trackingNumber"
                            ],
                            "variable": [
                                {
                                    "key": "trackingNumber",
                                    "value": "",
                                    "description": "Tracking number (internal, external, or third-party)"
                                }
                            ]
                        },
                        "description": "Get tracking events and delivery status for a package by its tracking number. Accepts tracking_number, external_tracking_number, or third_party_tracking_number. This is a public endpoint — no authentication required. Return reasons on failed stops are only included when the business marked them visible to the public."
                    },
                    "response": []
                },
                {
                    "name": "Generate tracking numbers",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking/generateTrackingNumber",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking",
                                "generateTrackingNumber"
                            ]
                        },
                        "description": "Generate one or more tracking numbers with optional prefix, suffix, and length. Authentication required."
                    },
                    "response": []
                },
                {
                    "name": "Lookup package info by search",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking/lookupPackageInfo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking",
                                "lookupPackageInfo"
                            ]
                        },
                        "description": "Search package by any identifier (package_id, tracking_number, external_tracking_number, third_party_tracking_number). Returns all tracking numbers for the package. Client/Employee can query own business and alliance partners. Customer can only query own orders."
                    },
                    "response": []
                },
                {
                    "name": "get operation events",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking/operationevents",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking",
                                "operationevents"
                            ]
                        },
                        "description": "get operation events",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"type\": \"ORDER_ID\",\n    \"id\": [\n        1,\n        2,\n        3\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Submit external tracking event",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/tracking/submitExternalTrackingEvent",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "tracking",
                                "submitExternalTrackingEvent"
                            ]
                        },
                        "description": "Submit external tracking event"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "User",
            "item": [
                {
                    "name": "User login",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/user/login",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "user",
                                "login"
                            ]
                        },
                        "description": "Authenticate a user (Client/Employee/Admin/Driver) and receive a Bearer token. This is a public endpoint — no authentication required."
                    },
                    "response": []
                },
                {
                    "name": "OAuth2 token",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/oauth/token",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "oauth",
                                "token"
                            ]
                        },
                        "description": "OAuth2-compatible login endpoint. Accepts the same parameters as /v1/user/login. This is a public endpoint — no authentication required."
                    },
                    "response": []
                },
                {
                    "name": "Logs out current logged in user session",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/user/logout",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "user",
                                "logout"
                            ]
                        },
                        "description": "Logs out current logged in user session"
                    },
                    "response": []
                },
                {
                    "name": "Refresh API token",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/user/refresh-token",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "user",
                                "refresh-token"
                            ]
                        },
                        "description": "Refresh the API token by extending its validity period to one period from the current time. A valid Bearer Token is required."
                    },
                    "response": []
                },
                {
                    "name": "Rotate API token with a zero-downtime overlap window",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/user/rotate-token",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "user",
                                "rotate-token"
                            ]
                        },
                        "description": "Issues a NEW access token while the CURRENT one keeps working for a grace window (default 60 minutes), after which it expires automatically. Unlike /user/refresh-token (which leaves the old token untouched until its original expiry), rotation guarantees the old credential dies shortly after the switch - without ever cutting off in-flight traffic. The current token's lifetime is only ever shortened, never extended.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"grace_period_minutes\": 60\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "WMS Integration",
            "item": [
                {
                    "name": "get warehouse type list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/wms-type",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "wms-type"
                            ],
                            "query": [
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get warehouse type list"
                    },
                    "response": []
                },
                {
                    "name": "get warehouse field by id",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/wms-field",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "wms-field"
                            ],
                            "query": [
                                {
                                    "key": "type",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "field",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "value",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get warehouse field by id"
                    },
                    "response": []
                },
                {
                    "name": "get wms connect",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/wms-connect",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "wms-connect"
                            ],
                            "query": [
                                {
                                    "key": "ids",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get wms connect"
                    },
                    "response": []
                },
                {
                    "name": "create wms connect",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/wms-connect",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "wms-connect"
                            ]
                        },
                        "description": "create wms connect"
                    },
                    "response": []
                },
                {
                    "name": "update wms connect",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/wms-connect",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "wms-connect"
                            ]
                        },
                        "description": "update wms connect"
                    },
                    "response": []
                },
                {
                    "name": "delete wms connect",
                    "request": {
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/wms-connect",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "wms-connect"
                            ]
                        },
                        "description": "delete wms connect"
                    },
                    "response": []
                },
                {
                    "name": "get wms connect",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wmsintegration/warehouse-list/:id",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wmsintegration",
                                "warehouse-list",
                                ":id"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get wms connect"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Warehouse",
            "item": [
                {
                    "name": "get warehouse list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/warehouse",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "warehouse"
                            ],
                            "query": [
                                {
                                    "key": "includeCustomerWarehouse",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "get warehouse list"
                    },
                    "response": []
                },
                {
                    "name": "getNearestWarehouse",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/getNearestWarehouse",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "getNearestWarehouse"
                            ]
                        },
                        "description": "getNearestWarehouse",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"address_1\": \"example\",\n    \"address_2\": \"example\",\n    \"city\": \"example\",\n    \"province\": \"example\",\n    \"country\": \"CA\",\n    \"postcode\": \"example\",\n    \"ids\": [\n        1,\n        2,\n        3\n    ],\n    \"warehouse_codes\": [\n        \"example-1\",\n        \"example-2\"\n    ],\n    \"includeCustomerWarehouse\": 0\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "getShippingMethodFromWarehouse",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/getShippingMethod",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "getShippingMethod"
                            ]
                        },
                        "description": "getShippingMethodFromWarehouse",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_id\": \"108\",\n    \"warehouse_code\": \"DY2\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "get inventory list",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/inventory",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "inventory"
                            ]
                        },
                        "description": "get inventory list",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"sku\": \"TEST001\",\n    \"warehouse_ids\": [\n        1,\n        2,\n        3\n    ],\n    \"warehouses\": [\n        \"DYT2\"\n    ]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "submit a new inbound request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/submitInboundRequest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "submitInboundRequest"
                            ]
                        },
                        "description": "submit a new inbound request",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_id\": 1,\n    \"warehouse_code\": \"COI8\",\n    \"shipping_type\": 3,\n    \"container_type\": 1,\n    \"eta\": \"2023-11-06\",\n    \"note\": \"customer note\",\n    \"weight\": 1,\n    \"length\": 1,\n    \"width\": 1,\n    \"height\": 1,\n    \"package_note\": \"package notes\",\n    \"insurance_value\": 200,\n    \"submit\": 1,\n    \"items\": [\n        {\n            \"name\": \"Product 1\",\n            \"quantity\": 1,\n            \"unit_price\": 1.48,\n            \"origin\": \"CA\",\n            \"weight\": 1000,\n            \"currency\": \"CAD\",\n            \"sku\": \"SKU001\",\n            \"barcode\": \"001321312321\",\n            \"unit\": \"PCS\",\n            \"hscode\": \"8009201332\",\n            \"description\": \"Product 1 description\"\n        }\n    ],\n    \"packages\": [\n        {\n            \"weight\": 1000,\n            \"length\": 300,\n            \"width\": 200,\n            \"height\": 100,\n            \"insurance_value\": 200,\n            \"note\": \"package note\",\n            \"items\": [\n                {\n                    \"name\": \"Product 1\",\n                    \"quantity\": 1,\n                    \"unit_price\": 1.48,\n                    \"origin\": \"CA\",\n                    \"weight\": 1000,\n                    \"currency\": \"CAD\",\n                    \"unit\": \"PCS\",\n                    \"sku\": \"SKU001\",\n                    \"barcode\": \"001321312321\",\n                    \"hscode\": \"8009201332\",\n                    \"description\": \"Product 1 description\"\n                }\n            ]\n        }\n    ],\n    \"signature_option\": 1,\n    \"insurance_option\": 1,\n    \"schedule_date\": \"2021-04-05 00:00:00\",\n    \"notification_language\": \"en\",\n    \"shipping_from\": \"87 (if want to manual set sender address, please leave it empty or null)\",\n    \"shipping_from_code\": \"WH-TORONTO (address book Unique Identifier; alternative to shipping_from - supply either one, shipping_from wins when both are given)\",\n    \"sender_name\": \"test\",\n    \"sender_address_1\": \"6701 RUE HADLEY\",\n    \"sender_address_2\": \"\",\n    \"sender_address_type\": 1,\n    \"sender_postcode\": \"H4E3R3\",\n    \"sender_city\": \"Montreal\",\n    \"sender_province\": \"QC\",\n    \"sender_country\": \"CA\",\n    \"sender_company_name\": \"Super Route\",\n    \"sender_email\": \"info@gmail.com\",\n    \"sender_telephone\": \"666666666\",\n    \"sender_buzz_code\": \"5151\",\n    \"shipping_method\": 2,\n    \"order_batch\": \"2021-08-23\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Cancel Inbound Request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/cancelInboundRequest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "cancelInboundRequest"
                            ]
                        },
                        "description": "Cancel Inbound Request",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 17832\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Get Inbound Request Detail",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/getInboundRequestDetail",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "getInboundRequestDetail"
                            ]
                        },
                        "description": "Get Inbound Request Detail",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 17832\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "submit a new outbound request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/submitOutboundRequest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "submitOutboundRequest"
                            ]
                        },
                        "description": "submit a new outbound request",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_id\": 1,\n    \"warehouse_code\": \"COI8\",\n    \"shipping_type\": 3,\n    \"container_type\": 1,\n    \"shipping_method\": \"WMS_SUPPORTED_SHIPPING_METHOD (Required By Some type of wms)\",\n    \"carrier\": \"DHL\",\n    \"service\": \"express\",\n    \"tracking_number\": \"12321432\",\n    \"shipping_label\": \"JVBERi0xLjQKMS... (base64 encoded)\",\n    \"note\": \"customer note\",\n    \"weight\": 1,\n    \"length\": 1,\n    \"width\": 1,\n    \"height\": 1,\n    \"package_note\": \"package notes\",\n    \"insurance_value\": 200,\n    \"submit\": 1,\n    \"items\": [\n        {\n            \"name\": \"Product 1\",\n            \"quantity\": 1,\n            \"unit_price\": 1.48,\n            \"origin\": \"CA\",\n            \"weight\": 1000,\n            \"currency\": \"CAD\",\n            \"sku\": \"SKU001\",\n            \"barcode\": \"001321312321\",\n            \"unit\": \"PCS\",\n            \"hscode\": \"8009201332\",\n            \"description\": \"Product 1 description\"\n        }\n    ],\n    \"packages\": [\n        {\n            \"weight\": 1000,\n            \"length\": 300,\n            \"width\": 200,\n            \"height\": 100,\n            \"insurance_value\": 200,\n            \"note\": \"package note\",\n            \"items\": [\n                {\n                    \"name\": \"Product 1\",\n                    \"quantity\": 1,\n                    \"unit_price\": 1.48,\n                    \"origin\": \"CA\",\n                    \"weight\": 1000,\n                    \"currency\": \"CAD\",\n                    \"unit\": \"PCS\",\n                    \"sku\": \"SKU001\",\n                    \"barcode\": \"001321312321\",\n                    \"hscode\": \"8009201332\",\n                    \"description\": \"Product 1 description\"\n                }\n            ]\n        }\n    ],\n    \"signature_option\": 1,\n    \"insurance_option\": 1,\n    \"schedule_date\": \"2021-04-05 00:00:00\",\n    \"notification_language\": \"en\",\n    \"name\": \"test\",\n    \"address_1\": \"6701 RUE HADLEY\",\n    \"address_2\": \"\",\n    \"address_type\": 1,\n    \"postcode\": \"H4E3R3\",\n    \"city\": \"Montreal\",\n    \"province\": \"QC\",\n    \"country\": \"CA\",\n    \"company_name\": \"Super Route\",\n    \"email\": \"info@gmail.com\",\n    \"telephone\": \"666666666\",\n    \"buzz_code\": \"5151\",\n    \"label_type\": 0,\n    \"order_batch\": \"2021-08-23\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Cancel Outbound Request",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/cancelOutboundRequest",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "cancelOutboundRequest"
                            ]
                        },
                        "description": "Cancel Outbound Request",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 17832\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Upload Shipping Label for Outbound Orders",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/wms/uploadShippingLabel",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "wms",
                                "uploadShippingLabel"
                            ]
                        },
                        "description": "Upload Shipping Label for Outbound Orders",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\": 17832,\n    \"shipping_method\": \"WMS_SUPPORTED_SHIPPING_METHOD (Required By Some type of wms)\",\n    \"carrier\": \"canada_post\",\n    \"service\": \"expedited_parcel\",\n    \"tracking_number\": \"123456789012\",\n    \"label\": \"base64 encoded label\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Warehouse Mobile",
            "item": [
                {
                    "name": "Bootstrap the warehouse mobile app",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/bootstrap",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "bootstrap"
                            ]
                        },
                        "description": "Returns the authenticated user, authorized warehouses, per-warehouse capabilities, feature flags and device contract versions."
                    },
                    "response": []
                },
                {
                    "name": "Look up one package",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/packages/lookup",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "packages",
                                "lookup"
                            ]
                        },
                        "description": "Resolves an unambiguous package-level code within the authenticated business and returns package, order and inventory location details.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"warehouse_id\": 276,\n    \"search\": \"SR10000001\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Receive one package",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/receive",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "receive"
                            ]
                        },
                        "description": "Receives one package into an authorized warehouse using the same order-status rules as the web receive page, including Need Reschedule transitions."
                    },
                    "response": []
                },
                {
                    "name": "Put away one package",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/putaway",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "putaway"
                            ]
                        },
                        "description": "Moves a received package into an existing scannable warehouse grid. Unknown grids are rejected and are never created by this endpoint."
                    },
                    "response": []
                },
                {
                    "name": "Ranked putaway suggestions",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/putaway-suggestions",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "putaway-suggestions"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "floor_plan_id",
                                    "value": "",
                                    "description": "Specific floor plan; defaults to the warehouse's lowest active floor level."
                                },
                                {
                                    "key": "inventory_id",
                                    "value": "",
                                    "description": "Inventory row whose package dimensions filter the candidates by size fit."
                                },
                                {
                                    "key": "limit",
                                    "value": "",
                                    "description": "Maximum suggestions to return (1-50, default 10)."
                                }
                            ]
                        },
                        "description": "Returns empty grids ranked by walking distance from the staging/receiving area (entrance as fallback) on the warehouse floor plan. Optionally filters by item size fit when an inventory_id with known package dimensions is given. Distances are in the floor plan's unit (meter or feet)."
                    },
                    "response": []
                },
                {
                    "name": "List warehouse route jobs",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/routes",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "routes"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "date",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns successful routes and route-driver jobs starting from the selected warehouse for one date."
                    },
                    "response": []
                },
                {
                    "name": "Scan a package for route sorting",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/routes/:route/sort",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "routes",
                                ":route",
                                "sort"
                            ],
                            "variable": [
                                {
                                    "key": "route",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns the route driver and stop number and updates the existing route sorting scan progress."
                    },
                    "response": []
                },
                {
                    "name": "Get a route outbound picking list",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/route-drivers/:routeDriver/outbound",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "route-drivers",
                                ":routeDriver",
                                "outbound"
                            ],
                            "query": [
                                {
                                    "key": "warehouse_id",
                                    "value": "",
                                    "description": ""
                                }
                            ],
                            "variable": [
                                {
                                    "key": "routeDriver",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Returns route-driver packages ordered by grid with remaining and completed progress."
                    },
                    "response": []
                },
                {
                    "name": "Stock one route package out",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-mobile/route-drivers/:routeDriver/outbound",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-mobile",
                                "route-drivers",
                                ":routeDriver",
                                "outbound"
                            ],
                            "variable": [
                                {
                                    "key": "routeDriver",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Writes package and inventory audit data, then deletes the package grid inventory record. Repeated scans return already_outbound."
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Warehouse Transfer",
            "item": [
                {
                    "name": "Search candidate mis-received local delivery packages",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-transfer/search",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-transfer",
                                "search"
                            ]
                        },
                        "description": "Search candidate mis-received local delivery packages",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"from_warehouse_id\": 12,\n    \"received_by\": 88,\n    \"date_from\": \"2026-05-01\",\n    \"date_to\": \"2026-05-19\",\n    \"order_ref\": \"SR12345\",\n    \"customer_id\": 42,\n    \"order_channel_id\": 7,\n    \"order_batch\": \"BATCH-2026-05-19-A\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Queue a transfer of selected orders (async)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-transfer",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-transfer"
                            ]
                        },
                        "description": "Queue a transfer of selected orders (async)",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"from_warehouse_id\": 12,\n    \"to_warehouse_id\": 23,\n    \"order_ids\": [\n        501,\n        502,\n        503\n    ],\n    \"reason\": \"Wrong warehouse scanned at receive\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                },
                {
                    "name": "Paginated list of transfer batches",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-transfer/list",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-transfer",
                                "list"
                            ],
                            "query": [
                                {
                                    "key": "page",
                                    "value": "",
                                    "description": ""
                                },
                                {
                                    "key": "per_page",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Paginated list of transfer batches"
                    },
                    "response": []
                },
                {
                    "name": "Get a transfer batch detail",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-transfer/:batchNo",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-transfer",
                                ":batchNo"
                            ],
                            "variable": [
                                {
                                    "key": "batchNo",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Get a transfer batch detail"
                    },
                    "response": []
                },
                {
                    "name": "Queue an entire-batch rollback (async)",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/warehouse-transfer/:batchNo/rollback",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "warehouse-transfer",
                                ":batchNo",
                                "rollback"
                            ],
                            "variable": [
                                {
                                    "key": "batchNo",
                                    "value": "",
                                    "description": ""
                                }
                            ]
                        },
                        "description": "Queue an entire-batch rollback (async)"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Webhooks",
            "item": [
                {
                    "name": "Officially redeliver a webhook from its delivery log",
                    "request": {
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/webhooks-guide/logs/:id/redeliver",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "webhooks-guide",
                                "logs",
                                ":id",
                                "redeliver"
                            ],
                            "variable": [
                                {
                                    "key": "id",
                                    "value": "",
                                    "description": "Webhook delivery log id"
                                }
                            ]
                        },
                        "description": "Requeues the ORIGINAL payload of a logged webhook delivery to its original URL as an official (non-test) delivery, signed with the current secret. Unlike POST /webhooks-guide/logs/{id}/resend (which marks the delivery as a test), redelivered events are indistinguishable from first-time deliveries to the receiver. Note: the body is re-serialized from the stored JSON, so key order may differ from the original delivery bytes; the signature is computed over the redelivered body, so verification is unaffected."
                    },
                    "response": []
                },
                {
                    "name": "Show my webhook settings",
                    "request": {
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/webhook-settings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "webhook-settings"
                            ]
                        },
                        "description": "Returns the caller's current webhook configuration (business settings for client/employee callers, customer settings for customer callers). The signing secret is always masked to its last 4 characters. Includes route_board_webhook_url, which delivers route_board.seat_changed (business-level; one event type whose action says whether a seat was claimed / promoted / withdrawn / vetoed / replaced / assigned / awarded / lost / displaced or the board opened / closed / cancelled / settled). Outbound payloads: tracking_event_webhook_url delivers tracking.event, whose delivered (500) / picked-up (510) events carry proof_files plus proof_files_detail (file_id, type 1=signature 2=photo, url, full_url, signed_url, signed_url_expires_at); pod_files_webhook_url delivers pod.files_updated once per proof file with action added / updated / removed. Full payload catalog: /api/webhooks-guide. Every proof file also carries its event context: tracking_event_id, tracking_event_status_id, tracking_event_key, service_type (1 = delivery | 2 = pickup) and service_status (1 = success | 2 = failed) — all null for legacy files without a recorded event. device_order_webhook_url (comma-separate multiple URLs; empty string clears) delivers the device_order.* events (stored, collected, removed, overdue, exception_opened, exception_resolved) for parcels handled by smart lockers, kiosks and smart drops, with the same signing, headers and retries as the other business webhooks; event_id is DOE-<id> and stable across retries. It is off unless a URL is set; device_order_events optionally narrows it to a comma-separated list of those event types (empty = all; unknown names are rejected). Partner-owned parcels are not sent on this channel. Payload schema: DeviceOrderWebhookEvent. tracking.event also carries four additive codes for device orders: 470 at_device (awaiting_pickup), 471 device_picked_up (delivered), 472 device_expired (awaiting_pickup), 473 device_removed (received); their location is the device's site and they never include the cell or the pickup code."
                    },
                    "response": []
                },
                {
                    "name": "Self-serve partial update of my webhook settings",
                    "request": {
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application/json"
                            }
                        ],
                        "url": {
                            "raw": "{{base_url}}/v1/webhook-settings",
                            "host": [
                                "{{base_url}}"
                            ],
                            "path": [
                                "v1",
                                "webhook-settings"
                            ]
                        },
                        "description": "Updates ONLY the submitted keys of the caller's webhook configuration - other keys are untouched, so partners can rotate a URL or the signing secret without an operator and without resending the full form. Unknown keys are rejected (400) so a typo cannot silently drop a URL. Every successful change is recorded in an audit trail (actor, changed keys, masked old/new values, IP). Allowed keys: order_status_change_webhook_url, order_create_async_postback_url, order_create_webhook_url, tracking_event_webhook_url, pod_files_webhook_url, order_deleted_webhook_url, order_cancel_failed_webhook_url, route_board_webhook_url, device_order_webhook_url (URL fields; comma-separate multiple URLs for fan-out; empty string clears), webhook_payload_envelope / order_created_webhook_all_types / webhook_verify_ssl (0 or 1), webhook_sign_secret (16-255 chars), device_order_events (comma-separated device_order.* event types; empty = all). Outbound payloads: tracking_event_webhook_url delivers tracking.event, whose delivered (500) / picked-up (510) events carry proof_files plus proof_files_detail (file_id, type 1=signature 2=photo, url, full_url, signed_url, signed_url_expires_at); pod_files_webhook_url delivers pod.files_updated once per proof file with action added / updated / removed; route_board_webhook_url delivers route_board.seat_changed (business-level; action = claimed / standby / pooled / promoted / withdrawn / vetoed / replaced / assigned / awarded / lost / displaced / settled / board_opened / board_closed / board_cancelled, with board, seat and claim objects always present and null when not applicable). Full payload catalog: /api/webhooks-guide. Every proof file also carries its event context: tracking_event_id, tracking_event_status_id, tracking_event_key, service_type (1 = delivery | 2 = pickup) and service_status (1 = success | 2 = failed) — all null for legacy files without a recorded event.",
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"tracking_event_webhook_url\": \"https://partner.example.com/tracking-v2\",\n    \"webhook_sign_secret\": \"new-strong-secret-0123456789\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        }
                    },
                    "response": []
                }
            ]
        }
    ]
}