{
    "variable": [
        {
            "id": "baseUrl",
            "key": "baseUrl",
            "type": "string",
            "name": "string",
            "value": "https:\/\/api.shiftcollect.com"
        }
    ],
    "info": {
        "name": "Shift Collect API Documentation",
        "_postman_id": "83c21d32-7716-4974-88e6-8541bab562d1",
        "description": "Welcome to the Shift Collect API - A RESTful API for managing locker bookings and account access.",
        "schema": "https:\/\/schema.getpostman.com\/json\/collection\/v2.1.0\/collection.json"
    },
    "item": [
        {
            "name": "Accounts",
            "description": "",
            "item": [
                {
                    "name": "Get the current account context.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/account",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/account"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns detailed information about the currently active account, including\nreverse flow strategies, locker assignment strategy, service products, users, and settings."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"name\":\"Acme Corp\",\"description\":\"A leading logistics company\",\"website\":\"https:\\\/\\\/acme.example.com\",\"phone\":\"+44 20 1234 5678\",\"email\":\"info@acme.example.com\",\"address\":\"123 Business Street, London, SW1A 1AA\",\"is_active\":true,\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"updated_at\":\"2025-01-01T00:00:00.000000Z\",\"reverse_flow_strategies\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"return_to_sender\",\"description\":\"Return to Sender\",\"is_active\":true,\"is_default\":true},{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"name\":\"hold_at_sort\",\"description\":\"Hold at Sort Centre\",\"is_active\":true,\"is_default\":false}],\"locker_assignment_strategy\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"name\":\"Just-in-time Assignment\",\"description\":\"Assign lockers on day of delivery\",\"is_active\":true},\"service_products\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"name\":\"DC to Locker\",\"description\":\"Direct delivery from despatch centre to locker\",\"requires_collection\":true,\"requires_delivery\":true,\"requires_locker\":true,\"requires_sorting_hub\":false,\"is_active\":true,\"is_default\":true}],\"users\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FBA\",\"name\":\"John Doe\",\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"last_accessed_at\":\"2025-01-15T10:30:00.000000Z\",\"is_active\":true,\"role\":\"owner\"}],\"settings\":[{\"name\":\"default_currency\",\"description\":\"Default currency for pricing\",\"type\":\"string\",\"value\":\"GBP\"},{\"name\":\"vat_rate\",\"description\":\"VAT rate as decimal (e.g., 0.20 for 20%)\",\"type\":\"decimal\",\"value\":0.2},{\"name\":\"sla_min_days\",\"description\":\"Minimum SLA days for delivery\",\"type\":\"integer\",\"value\":2},{\"name\":\"reverse_flow_allow_consumer_reschedule\",\"description\":\"Allow consumers to reschedule reverse flow deliveries\",\"type\":\"boolean\",\"value\":true},{\"name\":\"reverse_flow_alternative_address\",\"description\":\"Alternative address for reverse flow returns\",\"type\":\"address\",\"value\":{\"line_1\":\"123 Return Street\",\"line_2\":null,\"line_3\":null,\"city\":\"London\",\"postcode\":\"SW1A 1AA\",\"country\":\"United Kingdom\"}}]}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Authentication",
            "description": "",
            "item": [
                {
                    "name": "Generate API token from credentials.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/auth\/token",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/auth\/token"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"email\":\"user@example.com\",\"password\":\"password123\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"token_name\":\"Production API Token\",\"expires_at\":\"2025-12-31T23:59:59Z\"}"
                        },
                        "description": "Authenticates a user with email and password and returns an API token.\nThis is useful for programmatic access without needing to login via the SPA first.\nRequires Admin or Owner role in the specified account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"token\":\"1|abcdefghijklmnopqrstuvwxyz1234567890\",\"token_name\":\"Production API Token\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"user\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"name\":\"John Doe\",\"email\":\"user@example.com\"},\"abilities\":[\"*\"],\"expires_at\":\"2025-12-31T23:59:59.000000Z\",\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"message\":\"API token generated successfully\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised. Only admins and owners can generate API tokens.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"User does not belong to the specified account.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\",\"errors\":{\"email\":[\"The email field is required.\"],\"password\":[\"The password field is required.\"],\"account_id\":[\"The account id field is required.\"],\"expires_at\":[\"The expires at must be a date after now.\"]}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\",\"errors\":{\"email\":[\"These credentials do not match our records.\"]}}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Booking Item Sizes",
            "description": "",
            "item": [
                {
                    "name": "List effective parcel size presets for the authenticated account.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/booking-item-sizes",
                            "query": [
                                {
                                    "key": "service_product_id",
                                    "value": "architecto",
                                    "description": "Filter by service product ULID",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/booking-item-sizes?service_product_id=architecto"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns merged global defaults and account-specific overrides for the requested\nservice product (or all catalogued service products when omitted)."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"code\":\"small\",\"label\":\"Small\",\"service_product_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"max_height_cm\":50,\"max_width_cm\":90,\"max_depth_cm\":150,\"max_weight_kg\":25,\"max_value_gbp\":10000}]}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Booking Tracking",
            "description": "",
            "item": [
                {
                    "name": "Track a booking by reference ID (public endpoint).",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/tracking\/booking",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/tracking\/booking"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"id\":\"BK691B2516D28B2\",\"email\":\"customer@example.com\",\"phone\":\"+447700900123\",\"postcode\":\"SW1A 1AA\"}"
                        },
                        "description": "Allows public users to track their booking using reference ID and email, phone, or delivery postcode verification.\nAt least one of email, phone, or postcode must be provided."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"reference_id\":\"BK65A3F2E1\",\"package_info\":{\"tracking_number\":\"BK65A3F2E1\",\"status\":\"confirmed\",\"locker_assignments\":[{\"locker_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"locker_name\":\"A1-01\",\"cabinet\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAU\",\"name\":\"Cabinet A1\",\"status\":\"active\"},\"starts_at\":\"2025-01-15T09:00:00.000000Z\",\"ends_at\":\"2025-01-20T17:00:00.000000Z\"}],\"items_count\":3,\"items\":[{\"name\":\"Item 1\",\"quantity\":1}]},\"events\":[],\"last_updated\":\"2025-01-15T09:00:00.000000Z\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Track a booking by ID (authenticated endpoint).",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/tracking",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/tracking",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the booking."
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Allows authenticated accounts to track their bookings."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"reference_id\":\"BK65A3F2E1\",\"package_info\":{\"tracking_number\":\"BK65A3F2E1\",\"status\":\"confirmed\",\"locker_assignments\":[{\"locker_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"locker_name\":\"A1-01\",\"cabinet\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAU\",\"name\":\"Cabinet A1\",\"status\":\"active\"},\"starts_at\":\"2025-01-15T09:00:00.000000Z\",\"ends_at\":\"2025-01-20T17:00:00.000000Z\"}],\"items_count\":3,\"items\":[{\"name\":\"Item 1\",\"quantity\":1}]},\"events\":[],\"last_updated\":\"2025-01-15T09:00:00.000000Z\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Bookings",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of bookings.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "confirmed",
                                    "description": "Filter bookings by status",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "20",
                                    "description": "Number of items per page (max 100)",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/bookings?status=confirmed&per_page=20&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a paginated list of bookings for the current account context.\nYou can filter by status. When we have more detail about *why* the booking\nis in its current state, each booking includes `status_reason_id`,\n`status_reason`, and `status_reason_label`; the same fields appear on each\n`status_history` entry where they were recorded."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"reference_id\":\"SC689PUY74F\",\"service_product_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"service_product\":\"DC to Locker\",\"status_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"status\":\"confirmed\",\"status_reason_id\":null,\"status_reason\":null,\"status_reason_label\":null,\"site_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAS\",\"site\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAS\",\"name\":\"Example Locker Site\",\"city\":\"London\",\"postcode\":\"N1 1AA\"},\"status_history\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"status\":\"confirmed\",\"label\":\"Confirmed\",\"description\":\"Booking has been confirmed\",\"status_reason_id\":null,\"status_reason\":null,\"status_reason_label\":null,\"status_changed_at\":\"2025-01-01T00:00:00.000000Z\"}],\"items\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAB\",\"name\":\"Box of documents\",\"description\":\"Important business documents\",\"quantity\":1,\"size\":{\"code\":\"large\",\"label\":\"Large\",\"is_override\":false},\"weight\":30,\"height\":50,\"width\":90,\"depth\":170,\"value\":10000,\"volume\":765000,\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"updated_at\":\"2025-01-01T00:00:00.000000Z\"}],\"collections\":[],\"labels\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAD\",\"zpl_available\":true,\"pdf_available\":true,\"png_available\":false,\"zpl\":\"https:\\\/\\\/api.shiftcollect.com\\\/v1\\\/labels\\\/1234567890\\\/zpl\",\"pdf\":\"https:\\\/\\\/api.shiftcollect.com\\\/v1\\\/labels\\\/1234567890\\\/pdf\",\"png\":\"https:\\\/\\\/api.shiftcollect.com\\\/v1\\\/labels\\\/1234567890\\\/png\"}],\"locker_reservation_window\":null,\"locker_assignments\":null,\"authorisations\":null,\"contacts\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAC\",\"name\":\"Jane Doe\",\"email\":\"jane@example.com\",\"phone\":\"+447700900123\"}],\"returns\":null,\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"updated_at\":\"2025-01-01T00:00:00.000000Z\",\"created_by\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\"}],\"pagination\":{\"current_page\":1,\"per_page\":15,\"total\":100,\"last_page\":7,\"from\":1,\"to\":15,\"has_more_pages\":true},\"links\":{\"first\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/bookings?page=1\",\"last\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/bookings?page=7\",\"prev\":null,\"next\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/bookings?page=2\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Store a newly created booking.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"service_product_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"reference_id\":\"ORD-12345\",\"collection\":{\"site_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"despatch_centre_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"address\":{\"recipient\":\"John Smith\",\"line_1\":\"123 Main Street\",\"line_2\":\"Flat 3\",\"line_3\":\"Building A\",\"city\":\"Plymouth\",\"postcode\":\"SW1A 1AA\",\"country\":\"United Kingdom\",\"phone\":\"+44 1234 567890\",\"email\":\"recipient@example.com\",\"special_instructions\":\"Leave at side gate\",\"latitude\":-89,\"longitude\":-179},\"t_earliest_collection\":\"2025-01-15T09:00:00Z\",\"t_latest_collection\":\"2025-01-15T17:00:00Z\"},\"delivery\":{\"site_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"despatch_centre_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"address\":{\"recipient\":\"John Smith\",\"line_1\":\"123 Main Street\",\"line_2\":\"Flat 3\",\"line_3\":\"Building A\",\"city\":\"Plymouth\",\"postcode\":\"SW1A 1AA\",\"country\":\"United Kingdom\",\"phone\":\"+44 1234 567890\",\"email\":\"recipient@example.com\",\"special_instructions\":\"Leave at side gate\",\"latitude\":-90,\"longitude\":-179}},\"locker_reservation_window\":{\"site_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"t_earliest_arrival\":\"2025-01-15T09:00:00Z\",\"t_latest_collection\":\"2025-01-22T17:00:00Z\"},\"items\":[{\"name\":\"Standard parcel\",\"description\":\"Customer order #12345\",\"quantity\":1,\"size\":\"large\",\"weight\":30,\"height\":50,\"width\":90,\"depth\":170,\"value\":10000}],\"authorisation_group_ids\":[\"01ARZ3NDEKTSV4RRFFQ69G5FAY\"],\"locker_user_ids\":[\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\"],\"contacts\":[{\"name\":\"John Doe\",\"email\":\"john@example.com\",\"phone\":\"+447700900123\"}]}"
                        },
                        "description": "Creates a new booking associated with the current account context and the authenticated user.\nThe booking will be processed according to the specified service product.\n\n## Parcel sizes on booking items\n\nFor service products with a size catalogue (see `GET \/v1\/booking-item-sizes`), each entry in `items` can be described in three ways:\n\n1. **Size shortcut** \u2014 send `size` (`small`, `large`, or `xlarge`). Any omitted `height`, `width`, `depth`, `weight`, or `value` are set from that tier\u2019s catalogue maximums before the booking is saved.\n2. **Explicit dimensions** \u2014 send `height`, `width`, `depth`, and `weight` (centimetres and kilograms). We assign the **smallest** tier that fits. `width` and `depth` are rotation-invariant (you may swap them; matching sorts all three edges).\n3. **Size plus dimensions** \u2014 send both; dimensions must fit within the declared `size` tier.\n\nIf there is no catalogue for the chosen service product, each item still requires `height`, `width`, `depth`, and `weight` as today.\n\nInvalid or unknown `size` values, dimensions that exceed the tier, or parcels too large for any tier return `422` validation errors on the relevant `items.*` fields."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"message\":\"Booking created successfully\",\"booking_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"reference_id\":\"BK-2025-001\",\"service\":\"sorted_home_delivery\",\"label_ids\":[\"1111111119\",\"1111111120\"]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\",\"errors\":{\"delivery\":[\"The delivery field is required.\"],\"collection.address_id\":[\"The collection address id field is required when collection is present.\"],\"locker_reservation_window.site_id\":[\"The locker reservation window site must match the delivery site.\"]}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\",\"errors\":{\"items.0.size\":[\"The selected size is not available for this service product.\"],\"items.0.height\":[\"The item dimensions and weight exceed the maximum allowed parcel size for this service product.\"]}}",
                            "name": "Validation failed (including invalid `size` or dimensions that do not fit any tier)."
                        }
                    ]
                },
                {
                    "name": "Display the specified booking.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns full details for one booking in your current account context.\nWhen available, `status_reason_id`, `status_reason`, and `status_reason_label`\ndescribe why the booking has its current overall status; each past step in\n`status_history` can include the same three fields where they were recorded."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"reference_id\":\"SC689PUY74F\",\"service_product_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"service_product\":\"DC to Locker\",\"status_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"status\":\"confirmed\",\"status_reason_id\":null,\"status_reason\":null,\"status_reason_label\":null,\"site_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAS\",\"site\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAS\",\"name\":\"Example Locker Site\",\"city\":\"London\",\"postcode\":\"N1 1AA\"},\"status_history\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"status\":\"confirmed\",\"label\":\"Confirmed\",\"description\":\"Booking has been confirmed\",\"status_reason_id\":null,\"status_reason\":null,\"status_reason_label\":null,\"status_changed_at\":\"2025-01-01T00:00:00.000000Z\"}],\"items\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAB\",\"name\":\"Box of documents\",\"description\":\"Important business documents\",\"quantity\":1,\"size\":{\"code\":\"large\",\"label\":\"Large\",\"is_override\":false},\"weight\":30,\"height\":50,\"width\":90,\"depth\":170,\"value\":10000,\"volume\":765000,\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"updated_at\":\"2025-01-01T00:00:00.000000Z\"}],\"collections\":[],\"labels\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAD\",\"zpl_available\":true,\"pdf_available\":true,\"png_available\":false}],\"locker_reservation_window\":null,\"locker_assignments\":null,\"authorisations\":null,\"contacts\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAC\",\"name\":\"Jane Doe\",\"email\":\"jane@example.com\",\"phone\":\"+447700900123\"}],\"returns\":null,\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"updated_at\":\"2025-01-01T00:00:00.000000Z\",\"created_by\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Cancel the specified booking (DELETE).",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking to cancel"
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Cancels a booking, removing it from active status. The booking\nmust belong to the current account context. Only bookings with\nstatus Pending, Confirmed, In Progress or Ready for Collection can be cancelled."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Booking cancelled\",\"booking_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"reference_id\":\"BK-2025-001\",\"status\":\"cancelled\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"Booking cannot be cancelled. Only bookings with status Pending, Confirmed, In Progress or Ready for Collection can be cancelled.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Cancel the specified booking (POST shortcut).",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/cancel",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/cancel",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking to cancel"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Shortcut for cancelling a booking. Same behaviour as DELETE \/v1\/bookings\/{id}.\nOnly bookings with status Pending, Confirmed, In Progress or Ready for Collection can be cancelled."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Booking cancelled\",\"booking_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"reference_id\":\"BK-2025-001\",\"status\":\"cancelled\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"Booking cannot be cancelled. Only bookings with status Pending, Confirmed, In Progress or Ready for Collection can be cancelled.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Send booking confirmation to customer.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/send-booking-confirmation",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/send-booking-confirmation",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Sends booking confirmation notification via email and SMS.\nThis includes any access codes if the booking has locker assignments."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Booking confirmation notification queued successfully\",\"recipients\":[{\"email\":\"customer@example.com\",\"phone\":\"+44 1234 567890\"}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No customer contact information available\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Send booking reminder email.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/send-reminder",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/send-reminder",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Sends a reminder email before the booking starts with all access codes."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Reminder notification queued successfully\",\"recipients\":[{\"email\":\"customer@example.com\",\"phone\":\"+44 1234 567890\"}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No customer contact information available\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Send expiry reminder email.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/send-expiry-reminder",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/send-expiry-reminder",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Sends a reminder email before the booking expires."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Expiry reminder notification queued successfully\",\"recipients\":[{\"email\":\"customer@example.com\",\"phone\":\"+44 1234 567890\"}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No customer contact information available\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Send cancellation notice email.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/send-cancellation-notice",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/send-cancellation-notice",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"cancellation_reason\":\"Customer request\"}"
                        },
                        "description": "Sends a cancellation notice when a booking is cancelled."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Cancellation notice queued successfully\",\"recipients\":[{\"email\":\"customer@example.com\",\"phone\":\"+44 1234 567890\"}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No customer contact information available\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get labels by booking ID.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/labels",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/labels",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"format\":\"architecto\"}"
                        },
                        "description": "Returns concatenated label data for all labels in a booking.\nCurrently only ZPL concatenation is supported."
                    },
                    "response": [
                        {
                            "header": [
                                {
                                    "key": "cache-control",
                                    "value": "no-cache, private"
                                },
                                {
                                    "key": "content-type",
                                    "value": "application\/json"
                                },
                                {
                                    "key": "vary",
                                    "value": "Origin"
                                }
                            ],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Add or update booking authorisations.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/authorisation",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/authorisation",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"authorisation_group_ids\":[\"01ARZ3NDEKTSV4RRFFQ69G5FAY\"],\"locker_user_ids\":[\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\"]}"
                        },
                        "description": "Adds or extends authorisation groups and locker users for an existing booking.\nThe booking must belong to the current account context."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Authorisations updated\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\",\"errors\":{\"authorisation_group_ids.0\":[\"The selected authorisation group ids.0 is invalid.\"]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Generate lock codes for booking lockers.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/bookings\/:id\/generate-codes",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/bookings\/:id\/generate-codes",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
                                    "description": "The ID of the booking"
                                }
                            ]
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Generates access codes for all lockers associated with a booking.\nThe booking must belong to the current account context."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Lock codes generated\",\"codes\":[{\"locker_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAC\",\"code\":\"1234\"}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Booking not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Cabinets",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of cabinets.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/cabinets",
                            "query": [
                                {
                                    "key": "status",
                                    "value": "active",
                                    "description": "Filter by cabinet status name",
                                    "disabled": false
                                },
                                {
                                    "key": "latitude",
                                    "value": "51.5074",
                                    "description": "Latitude for location-based search (must include longitude and radius)",
                                    "disabled": false
                                },
                                {
                                    "key": "longitude",
                                    "value": "-0.1278",
                                    "description": "Longitude for location-based search (must include latitude and radius)",
                                    "disabled": false
                                },
                                {
                                    "key": "radius",
                                    "value": "10",
                                    "description": "Radius in kilometers for location-based search (must include latitude and longitude)",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/cabinets?status=active&latitude=51.5074&longitude=-0.1278&radius=10"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a list of cabinets with optional filtering by status or location."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAA\",\"name\":\"Cabinet A1\",\"status\":\"active\",\"total_active_lockers\":10,\"total_available_lockers\":5,\"active_locker_ids\":[\"01ARZ3NDEKTSV4RRFFQ69G5FC1\",\"01ARZ3NDEKTSV4RRFFQ69G5FC2\"]}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Display the specified cabinet.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/cabinets\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/cabinets\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAA",
                                    "description": "The ID of the cabinet"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns detailed information about a specific cabinet."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAA\",\"name\":\"Cabinet A1\",\"status\":\"active\",\"total_active_lockers\":10,\"total_available_lockers\":5,\"active_locker_ids\":[\"01ARZ3NDEKTSV4RRFFQ69G5FC1\",\"01ARZ3NDEKTSV4RRFFQ69G5FC2\"]}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Cabinet not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Collection Schedules",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of collection schedules for a despatch centre.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/despatch-centres\/:despatchCentreId\/collection-schedules",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/despatch-centres\/:despatchCentreId\/collection-schedules",
                            "variable": [
                                {
                                    "id": "despatchCentreId",
                                    "key": "despatchCentreId",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the despatch centre"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"despatch_centre_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Weekday Morning Collection\",\"description\":\"Standard weekday collection window\",\"collection_start_time\":\"08:00:00\",\"collection_end_time\":\"10:00:00\",\"days_of_week\":[0,1,2,3,4],\"is_active\":true}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Despatch centre not found or does not belong to your account\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Display the specified collection schedule.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/despatch-centres\/:despatchCentreId\/collection-schedules\/:collectionScheduleId",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/despatch-centres\/:despatchCentreId\/collection-schedules\/:collectionScheduleId",
                            "variable": [
                                {
                                    "id": "despatchCentreId",
                                    "key": "despatchCentreId",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the despatch centre"
                                },
                                {
                                    "id": "collectionScheduleId",
                                    "key": "collectionScheduleId",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAX",
                                    "description": "The ID of the collection schedule"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"despatch_centre_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"name\":\"Weekday Morning Collection\",\"description\":\"Standard weekday collection window\",\"collection_start_time\":\"08:00:00\",\"collection_end_time\":\"10:00:00\",\"days_of_week\":[0,1,2,3,4],\"effective_from\":\"2025-01-01T00:00:00Z\",\"effective_until\":null,\"is_active\":true}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Collection schedule not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Despatch Centres",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of despatch centres.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/despatch-centres",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "20",
                                    "description": "Number of items per page (max 100)",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/despatch-centres?per_page=20&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a paginated list of despatch centres for the current account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Main Warehouse\",\"description\":\"Primary despatch centre\",\"address_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"address\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"line_1\":\"123 Industrial Way\",\"line_2\":null,\"city\":\"London\",\"postcode\":\"SW1A 1AA\",\"latitude\":51.5074,\"longitude\":-0.1278},\"access_instructions\":\"Enter through main gate\",\"special_instructions\":null,\"contact_phone\":\"+44 20 1234 5678\",\"contact_email\":\"warehouse@example.com\",\"is_active\":true}],\"pagination\":{\"current_page\":1,\"per_page\":50,\"total\":10,\"last_page\":1}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Display the specified despatch centre.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/despatch-centres\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/despatch-centres\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the despatch centre"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": ""
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Main Warehouse\",\"description\":\"Primary despatch centre\",\"address_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"address\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"line_1\":\"123 Industrial Way\",\"line_2\":null,\"city\":\"London\",\"postcode\":\"SW1A 1AA\",\"latitude\":51.5074,\"longitude\":-0.1278},\"access_instructions\":\"Enter through main gate\",\"is_active\":true}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Despatch centre not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Labels",
            "description": "",
            "item": [
                {
                    "name": "Get ZPL label data by label ID.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/labels\/:id\/zpl",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/labels\/:id\/zpl",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "1111111119",
                                    "description": "The ID of the label"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the ZPL (Zebra Programming Language) data for a specific label.\nThe label must belong to a booking in the current account context."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"label\":\"^XA^FO50,50^FDTest ZPL Label^FS^XZ\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Label not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"ZPL data not available for this label\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get PDF label data by label ID.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/labels\/:id\/pdf",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/labels\/:id\/pdf",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "1111111119",
                                    "description": "The ID of the label"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the PDF binary data for a specific label.\nThe label must belong to a booking in the current account context."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": null,
                            "name": "PDF binary data with Content-Type: application\/pdf"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Label not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"PDF data not available for this label\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Get PNG label data by label ID.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/labels\/:id\/png",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/labels\/:id\/png",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "1111111119",
                                    "description": "The ID of the label"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns the PNG binary data for a specific label.\nThe label must belong to a booking in the current account context."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": null,
                            "name": "PNG binary data with Content-Type: image\/png"
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Label not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"PNG data not available for this label\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Reverse Flows",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of reverse flow strategies.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/reverse-flows",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "20",
                                    "description": "Number of items per page (max 100)",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/reverse-flows?per_page=20&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a paginated list of reverse flow strategies available to the current account context.\nReverse flow strategies define how items should be handled when they cannot be delivered\nor collected from lockers."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"return_to_sender\",\"description\":\"Return to Sender\",\"is_active\":true,\"is_default\":true},{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"name\":\"hold_at_sort\",\"description\":\"Hold at Sort Centre\",\"is_active\":true,\"is_default\":false},{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"name\":\"allow_redelivery\",\"description\":\"Allow Redelivery\",\"is_active\":true,\"is_default\":false}],\"pagination\":{\"current_page\":1,\"per_page\":20,\"total\":3,\"last_page\":1,\"from\":1,\"to\":3,\"has_more_pages\":false},\"links\":{\"first\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/reverse-flows?page=1\",\"last\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/reverse-flows?page=1\",\"prev\":null,\"next\":null}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Service Products",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of service products.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/service-products",
                            "query": [
                                {
                                    "key": "per_page",
                                    "value": "20",
                                    "description": "Number of items per page (max 100)",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/service-products?per_page=20&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a paginated list of service products available to the current account context.\nService products define the types of booking services that can be used."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAZ\",\"name\":\"direct_locker_delivery\",\"description\":\"Bookings are collected from a despatch centre and delivered directly to a locker\",\"requires_collection\":true,\"requires_delivery\":true,\"requires_locker\":true,\"requires_sorting_hub\":false,\"is_active\":true,\"is_default\":true},{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAY\",\"name\":\"sorted_locker_delivery\",\"description\":\"Bookings are collected from a despatch centre, taken to our sort centre and then delivered to a locker optimally\",\"requires_collection\":true,\"requires_delivery\":true,\"requires_locker\":true,\"requires_sorting_hub\":true,\"is_active\":true,\"is_default\":false}],\"pagination\":{\"current_page\":1,\"per_page\":20,\"total\":2,\"last_page\":1,\"from\":1,\"to\":2,\"has_more_pages\":false},\"links\":{\"first\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/service-products?page=1\",\"last\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/service-products?page=1\",\"prev\":null,\"next\":null}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Serviceability",
            "description": "",
            "item": [
                {
                    "name": "List all serviceable postcode prefixes.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/serviceable-postcodes",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/serviceable-postcodes"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a unique list of postcode prefixes mapped to active zones."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[\"E1\",\"N1\",\"SW1\",\"SE1\"]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Sites",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of sites with search and pagination.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/sites",
                            "query": [
                                {
                                    "key": "latitude",
                                    "value": "51.5074",
                                    "description": "Latitude for location-based search (must include longitude and radius)",
                                    "disabled": false
                                },
                                {
                                    "key": "longitude",
                                    "value": "-0.1278",
                                    "description": "Longitude for location-based search (must include latitude and radius)",
                                    "disabled": false
                                },
                                {
                                    "key": "radius",
                                    "value": "10",
                                    "description": "Radius in kilometers for location-based search (must include latitude and longitude, or postcode when enabled)",
                                    "disabled": false
                                },
                                {
                                    "key": "postcode",
                                    "value": "SW1A+1AA",
                                    "description": "Postcode for location-based search (this may incur extra usage fees when enabled)",
                                    "disabled": false
                                },
                                {
                                    "key": "per_page",
                                    "value": "20",
                                    "description": "Number of items per page (max 100)",
                                    "disabled": false
                                },
                                {
                                    "key": "page",
                                    "value": "1",
                                    "description": "Page number",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/sites?latitude=51.5074&longitude=-0.1278&radius=10&postcode=SW1A+1AA&per_page=20&page=1"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns a paginated list of active sites. Supports location-based filtering\nto find sites within a specified radius of coordinates."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"name\":\"Downtown Location\",\"address\":{\"recipient\":null,\"line_1\":\"123 Main St\",\"line_2\":null,\"line_3\":\"Greater London\",\"city\":\"London\",\"postcode\":\"SW1A 1AA\",\"country\":\"United Kingdom\",\"contact_phone\":null,\"contact_email\":null,\"special_instructions\":null,\"latitude\":51.5074,\"longitude\":-0.1278},\"latitude\":51.5074,\"longitude\":-0.1278,\"access_instructions\":\"Enter through main entrance\",\"height_restriction\":2.5,\"is_active\":true,\"distance\":{\"km\":2.5,\"mi\":1.55},\"site_access_codes\":[{\"name\":\"Customer access code 1\",\"code\":\"AB12CD34\"}]}],\"pagination\":{\"current_page\":1,\"per_page\":50,\"total\":25,\"last_page\":1,\"from\":1,\"to\":25,\"has_more_pages\":false},\"links\":{\"first\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/sites?page=1\",\"last\":\"http:\\\/\\\/example.com\\\/api\\\/v1\\\/sites?page=1\",\"prev\":null,\"next\":null}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Display the specified site.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/sites\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/sites\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the site"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns detailed information about a specific site."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"name\":\"Downtown Location\",\"address\":{\"recipient\":null,\"line_1\":\"123 Main St\",\"line_2\":null,\"line_3\":\"Greater London\",\"city\":\"London\",\"postcode\":\"SW1A 1AA\",\"country\":\"United Kingdom\",\"contact_phone\":null,\"contact_email\":null,\"email\":null,\"special_instructions\":null,\"latitude\":51.5074,\"longitude\":-0.1278},\"latitude\":51.5074,\"longitude\":-0.1278,\"access_instructions\":\"Enter through main entrance\",\"height_restriction\":2.5,\"is_active\":true,\"site_access_codes\":[{\"name\":\"Customer access code 1\",\"code\":\"AB12CD34\"}]}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Site not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Token Management",
            "description": "",
            "item": [
                {
                    "name": "Generate API token for account.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/tokens\/generate",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/tokens\/generate"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"token_name\":\"Production API Token\",\"expires_at\":\"2025-12-31T23:59:59Z\"}"
                        },
                        "description": "Creates a new API token for the authenticated user in the current account context.\nRequires Admin or Owner role in the current account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"token\":\"1|abcdefghijklmnopqrstuvwxyz1234567890\",\"token_name\":\"Production API Token\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"abilities\":[\"*\"],\"expires_at\":\"2025-12-31T23:59:59.000000Z\",\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"message\":\"API token generated successfully\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\",\"errors\":{\"token_name\":[\"The token name field is required.\"],\"expires_at\":[\"The expires at must be a date after now.\"]}}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "List API tokens for account.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/tokens",
                            "query": [
                                {
                                    "key": "search",
                                    "value": "Production",
                                    "description": "Search tokens by name",
                                    "disabled": false
                                }
                            ],
                            "raw": "{{baseUrl}}\/v1\/tokens?search=Production"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns all API tokens for the authenticated user in the current account context.\nRequires Admin or Owner role in the current account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"tokens\":[{\"id\":1,\"name\":\"Production API Token\",\"abilities\":[\"*\"],\"last_used_at\":\"2025-01-15T10:30:00.000000Z\",\"created_at\":\"2025-01-01T00:00:00.000000Z\",\"expires_at\":\"2025-12-31T23:59:59.000000Z\"}],\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"total\":1}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Revoke a specific API token.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/tokens\/:tokenId",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/tokens\/:tokenId",
                            "variable": [
                                {
                                    "id": "tokenId",
                                    "key": "tokenId",
                                    "value": "1",
                                    "description": "The ID of the token to revoke"
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Revokes a single API token by ID. Requires Admin or Owner role in the current account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"API token revoked successfully\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Token not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Revoke all API tokens for account.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/tokens",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/tokens"
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Revokes all API tokens for the authenticated user in the current account context.\nRequires Admin or Owner role in the current account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"All API tokens revoked successfully\",\"deleted_count\":5}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 400,
                            "body": "{\"message\":\"No account context set\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        },
        {
            "name": "Webhooks",
            "description": "",
            "item": [
                {
                    "name": "Display a listing of webhooks.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/webhooks",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/webhooks"
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns all webhooks for the authenticated user's account."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Production Webhook\",\"description\":\"Webhook for production events\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"secret\":\"whsec_...\",\"event_types\":[\"booking.created\",\"booking.cancelled\"],\"is_active\":true,\"created_at\":\"2024-01-01T00:00:00.000000Z\",\"updated_at\":\"2024-01-01T00:00:00.000000Z\"}]}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Create a new webhook.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/webhooks",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/webhooks"
                        },
                        "method": "POST",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"Production Webhook\",\"description\":\"Webhook for production events\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"event_types\":[\"booking.created\",\"booking.cancelled\"],\"headers\":[{\"name\":\"Authorization\",\"value\":\"Bearer sk_live_abc123\"}],\"is_active\":true}"
                        },
                        "description": "Creates a webhook for the authenticated user's account. A unique secret will be generated automatically."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Production Webhook\",\"description\":\"Webhook for production events\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"secret\":\"whsec_...\",\"event_types\":[\"booking.created\",\"booking.cancelled\"],\"is_active\":true,\"created_at\":\"2024-01-01T00:00:00.000000Z\",\"updated_at\":\"2024-01-01T00:00:00.000000Z\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Display the specified webhook.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/webhooks\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/webhooks\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the webhook."
                                },
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the webhook"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Returns detailed information about a specific webhook."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Production Webhook\",\"description\":\"Webhook for production events\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"secret\":\"whsec_...\",\"event_types\":[\"booking.created\",\"booking.cancelled\"],\"is_active\":true,\"created_at\":\"2024-01-01T00:00:00.000000Z\",\"updated_at\":\"2024-01-01T00:00:00.000000Z\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Webhook not found\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Update the specified webhook.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/webhooks\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/webhooks\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the webhook."
                                },
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the webhook"
                                }
                            ]
                        },
                        "method": "PUT",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": {
                            "mode": "raw",
                            "raw": "{\"name\":\"Updated Webhook\",\"description\":\"Updated description\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"event_types\":[\"booking.created\"],\"headers\":[{\"name\":\"X-API-Key\",\"value\":\"my-key\"}],\"is_active\":true}"
                        },
                        "description": "Updates a webhook's details."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"data\":{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAW\",\"account_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"name\":\"Updated Webhook\",\"description\":\"Updated description\",\"url\":\"https:\\\/\\\/example.com\\\/webhook\",\"secret\":\"whsec_...\",\"event_types\":[\"booking.created\"],\"is_active\":true,\"created_at\":\"2024-01-01T00:00:00.000000Z\",\"updated_at\":\"2024-01-01T00:00:00.000000Z\"}}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Webhook not found\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 422,
                            "body": "{\"message\":\"The given data was invalid.\"}",
                            "name": ""
                        }
                    ]
                },
                {
                    "name": "Delete the specified webhook.",
                    "request": {
                        "url": {
                            "host": "{{baseUrl}}",
                            "path": "v1\/webhooks\/:id",
                            "query": [],
                            "raw": "{{baseUrl}}\/v1\/webhooks\/:id",
                            "variable": [
                                {
                                    "id": "id",
                                    "key": "id",
                                    "value": "architecto",
                                    "description": "The ID of the webhook."
                                },
                                {
                                    "id": "webhook",
                                    "key": "webhook",
                                    "value": "01ARZ3NDEKTSV4RRFFQ69G5FAW",
                                    "description": "The ID of the webhook"
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [
                            {
                                "key": "Content-Type",
                                "value": "application\/json"
                            },
                            {
                                "key": "Accept",
                                "value": "application\/json"
                            }
                        ],
                        "body": null,
                        "description": "Permanently deletes a webhook."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 200,
                            "body": "{\"message\":\"Webhook deleted successfully\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 401,
                            "body": "{\"message\":\"Unauthenticated.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 403,
                            "body": "{\"message\":\"This action is unauthorised.\"}",
                            "name": ""
                        },
                        {
                            "header": [],
                            "code": 404,
                            "body": "{\"message\":\"Webhook not found\"}",
                            "name": ""
                        }
                    ]
                }
            ]
        }
    ],
    "auth": {
        "type": "bearer",
        "bearer": [
            {
                "key": "Authorization",
                "type": "string"
            }
        ]
    }
}