{
    "variable": [
        {
            "id": "baseUrl",
            "key": "baseUrl",
            "type": "string",
            "name": "string",
            "value": "https:\/\/api.shiftcollect.com"
        }
    ],
    "info": {
        "name": "Shift Collect API Documentation",
        "_postman_id": "e3a372e0-95b2-46f4-8eb1-5f4dae43147c",
        "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 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\"}"
                        },
                        "description": "Allows public users to track their booking using reference ID and email or phone verification.\nAt least one of email or phone 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.\nBookings can be filtered by status."
                    },
                    "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_history\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"status\":\"confirmed\",\"label\":\"Confirmed\",\"description\":\"Booking has been confirmed\",\"status_changed_at\":\"2025-01-01T00:00:00.000000Z\"}],\"items\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAB\",\"name\":\"Box of documents\",\"description\":\"Important business documents\",\"quantity\":1,\"weight\":5.5,\"height\":30,\"width\":40,\"depth\":50,\"volume\":60000,\"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\":\"Box of documents\",\"description\":\"Important business documents\",\"quantity\":1,\"weight\":5.5,\"height\":30,\"width\":40,\"depth\":50,\"value\":27}],\"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."
                    },
                    "response": [
                        {
                            "header": [],
                            "code": 201,
                            "body": "{\"message\":\"Booking created successfully\",\"booking_id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAV\",\"reference_id\":\"BK-2025-001\",\"service\":\"DC to Locker\",\"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": ""
                        }
                    ]
                },
                {
                    "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 detailed information about a specific booking. The booking\nmust belong to the current account context."
                    },
                    "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_history\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAX\",\"status\":\"confirmed\",\"label\":\"Confirmed\",\"description\":\"Booking has been confirmed\",\"status_changed_at\":\"2025-01-01T00:00:00.000000Z\"}],\"items\":[{\"id\":\"01ARZ3NDEKTSV4RRFFQ69G5FAB\",\"name\":\"Box of documents\",\"description\":\"Important business documents\",\"quantity\":1,\"weight\":5.5,\"height\":30,\"width\":40,\"depth\":50,\"volume\":60000,\"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\"],\"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\"],\"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"
            }
        ]
    }
}