{
    "openapi": "3.1.0",
    "jsonSchemaDialect": "https://json-schema.org/draft/2020-12/schema",
    "info": {
        "title": "SellViaApp API",
        "summary": "Connect catalogues, customers, orders, payments, bookings, case tracking and business systems to SellViaApp mobile applications.",
        "description": "The SellViaApp HTTPS JSON API connects ERP, CRM and custom business software to public or confidential SellViaApp mobile applications. General developer API and webhook access requires the Business API plan. Native WooCommerce, Shopify, Wix and Odoo connector routes remain included with Business. Credentials must remain on the integrator server.",
        "version": "2026-10-27",
        "contact": {
            "name": "SellViaApp API support",
            "email": "api@sellviaapp.com",
            "url": "https://sellviaapp.com/en/api-documentation"
        },
        "termsOfService": "https://sellviaapp.com/en/terms-of-use",
        "license": {
            "name": "Proprietary - SellViaApp API Terms",
            "url": "https://sellviaapp.com/en/terms-of-use"
        }
    },
    "servers": [
        {
            "url": "https://api.sellviaapp.com",
            "description": "Production"
        }
    ],
    "externalDocs": {
        "description": "Human-readable API documentation and interactive workbench",
        "url": "https://sellviaapp.com/en/api-documentation"
    },
    "tags": [
        {
            "name": "Customers",
            "description": "Create and manage customer accounts for each shop."
        },
        {
            "name": "Catalogue",
            "description": "Categories, products, images, prices, stock, promotions and favourites."
        },
        {
            "name": "Cart and orders",
            "description": "Manage the cart and confirm an order atomically."
        },
        {
            "name": "Customer payments",
            "description": "Choose pay on delivery or open a secure Stripe payment, then retrieve its server-verified status."
        },
        {
            "name": "Case tracking",
            "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals."
        },
        {
            "name": "Appointments & bookings",
            "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software."
        },
        {
            "name": "Documents",
            "description": "Invoices, estimates, orders and their lines."
        },
        {
            "name": "Real-time webhooks",
            "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service."
        },
        {
            "name": "Notifications and integrations",
            "description": "Mobile notifications and external synchronisation."
        }
    ],
    "paths": {
        "/product/variants": {
            "get": {
                "tags": ["Catalogue"], "summary": "Read a product's variant groups and combinations", "operationId": "get_product_variants", "x-auth-level": "admin",
                "security": [{"ApiKeyAuth": [], "BearerAuth": []}],
                "parameters": [{"name": "product_id", "in": "query", "required": true, "schema": {"type": "integer", "minimum": 1}}],
                "responses": {"200": {"description": "Product ID, groups and combinations", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiSuccess"}}}}, "403": {"description": "Pro API access required", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}
            },
            "post": {
                "tags": ["Catalogue"], "summary": "Replace a product's complete variant configuration", "description": "Send all groups and every combination in group order. An empty groups and combinations pair removes the variants. Direct-purchase products only; Shopify-connected shops manage variants in Shopify.", "operationId": "post_product_variants", "x-auth-level": "admin",
                "security": [{"ApiKeyAuth": [], "BearerAuth": []}],
                "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["product_id", "groups", "combinations"], "properties": {"product_id": {"type": "integer", "minimum": 1}, "groups": {"type": "array", "maxItems": 3}, "combinations": {"type": "array", "maxItems": 100}}}, "example": {"product_id": 123, "groups": [{"name": "Size", "values": ["S", "M"]}], "combinations": [{"selections": ["S"], "sku": "TS-S", "price": 19.9, "stock": 8}, {"selections": ["M"], "sku": "TS-M", "price": 21.9, "stock": 5}]}}}},
                "responses": {"200": {"description": "Saved configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiSuccess"}}}}, "422": {"description": "Invalid configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}
            }
        },
        "/product/options": {
            "get": {
                "tags": ["Catalogue"], "summary": "Read a product's option groups and extras", "operationId": "get_product_options", "x-auth-level": "admin",
                "security": [{"ApiKeyAuth": [], "BearerAuth": []}],
                "parameters": [{"name": "product_id", "in": "query", "required": true, "schema": {"type": "integer", "minimum": 1}}],
                "responses": {"200": {"description": "Product ID and option groups including signed image URLs", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiSuccess"}}}}, "403": {"description": "Pro API access required", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}
            },
            "post": {
                "tags": ["Catalogue"], "summary": "Replace a product's complete option configuration", "description": "Send every group and option to keep. Existing IDs can be reused; use 0 for new items. An empty groups array removes options. image_base64 accepts JPEG, PNG or WebP up to 1 MB; remove_photo clears an existing image. Direct-purchase products only; Shopify-connected shops manage options in Shopify.", "operationId": "post_product_options", "x-auth-level": "admin",
                "security": [{"ApiKeyAuth": [], "BearerAuth": []}],
                "requestBody": {"required": true, "content": {"application/json": {"schema": {"type": "object", "required": ["product_id", "groups"], "properties": {"product_id": {"type": "integer", "minimum": 1}, "groups": {"type": "array", "maxItems": 10}}}, "example": {"product_id": 123, "groups": [{"id": 0, "name": "Sauces", "selection_mode": "multiple", "options": [{"id": 0, "name": "Ketchup", "price": 0.5, "quantity_mode": "single", "max_quantity": 1}]}]}}}},
                "responses": {"200": {"description": "Saved configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiSuccess"}}}}, "422": {"description": "Invalid configuration", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ApiError"}}}}}
            }
        },
        "/admin/notification/sendtomobile": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Retrieve mobile notifications.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_admin_notification_sendtomobile",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/admin/notification/setdelivery": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Mark a notification as delivered.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_admin_notification_setdelivery",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "guid": {
                                        "type": "string",
                                        "description": "Notification GUID token."
                                    }
                                },
                                "required": [
                                    "guid"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "guid": "example"
                            }
                        }
                    }
                }
            }
        },
        "/booking/admin-confirm": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Confirm, return to pending or reject the booking on the administrator side.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_admin_confirm",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "booking_id": {
                                        "type": "integer",
                                        "description": "Booking to review."
                                    },
                                    "confirmation": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "confirmed",
                                            "rejected"
                                        ],
                                        "description": "pending | confirmed | rejected"
                                    }
                                },
                                "required": [
                                    "booking_id",
                                    "confirmation"
                                ]
                            },
                            "example": {
                                "booking_id": 1,
                                "confirmation": "pending"
                            }
                        }
                    }
                }
            }
        },
        "/booking/availability/add": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Add a general, service-specific or resource-specific schedule.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_availability_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "service_id": {
                                        "type": "integer",
                                        "description": "Target service; omit or use 0 for all services."
                                    },
                                    "resource_id": {
                                        "type": "integer",
                                        "description": "Target resource; omit or use 0 for all eligible resources."
                                    },
                                    "weekday": {
                                        "type": "integer",
                                        "description": "1 Monday to 7 Sunday."
                                    },
                                    "start_time": {
                                        "type": "string",
                                        "description": "HH:MM"
                                    },
                                    "end_time": {
                                        "type": "string",
                                        "description": "HH:MM"
                                    }
                                },
                                "required": [
                                    "weekday",
                                    "start_time",
                                    "end_time"
                                ]
                            },
                            "example": {
                                "service_id": 1,
                                "resource_id": 1,
                                "weekday": 1,
                                "start_time": "example",
                                "end_time": "example"
                            }
                        }
                    }
                }
            }
        },
        "/booking/availability/delete": {
            "delete": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Delete a schedule.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "delete_booking_availability_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Schedule identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/availability/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List weekly schedules.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_availability_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/booking/cancel": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Cancel according to the configured deadline.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_cancel",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "booking_id": {
                                        "type": "integer",
                                        "description": "Authorised booking."
                                    },
                                    "reason": {
                                        "type": "string",
                                        "description": "Optional reason."
                                    }
                                },
                                "required": [
                                    "booking_id"
                                ]
                            },
                            "example": {
                                "booking_id": 1,
                                "reason": "example"
                            }
                        }
                    }
                }
            }
        },
        "/booking/config/get": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Read booking rules and the app currency.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_config_get",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/booking/config/update": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Update notice, cancellation and reminder rules. Two-step confirmation always remains active.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_config_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "min_notice_minutes": {
                                        "type": "integer",
                                        "description": "Minimum booking notice."
                                    },
                                    "max_advance_days": {
                                        "type": "integer",
                                        "description": "Maximum advance booking days."
                                    },
                                    "cancellation_hours": {
                                        "type": "integer",
                                        "description": "Customer cancellation deadline."
                                    },
                                    "public_booking": {
                                        "type": "boolean",
                                        "description": "Allow mobile booking."
                                    },
                                    "reminders_enabled": {
                                        "type": "boolean",
                                        "description": "Enable the reminder queue."
                                    },
                                    "reminder_hours": {
                                        "type": "integer",
                                        "description": "Hours before the booking."
                                    },
                                    "customer_notes_enabled": {
                                        "type": "boolean",
                                        "description": "Allow customer notes."
                                    }
                                }
                            },
                            "example": {
                                "min_notice_minutes": 1,
                                "max_advance_days": 1,
                                "cancellation_hours": 1,
                                "public_booking": true,
                                "reminders_enabled": true,
                                "reminder_hours": 1,
                                "customer_notes_enabled": true
                            }
                        }
                    }
                }
            }
        },
        "/booking/create": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Create and confirm the customer request; administrator approval is then still required.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_create",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "service_id": {
                                        "type": "integer",
                                        "description": "Selected service."
                                    },
                                    "resource_id": {
                                        "type": "integer",
                                        "description": "Selected resource."
                                    },
                                    "starts_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Slot returned by booking/slot/list."
                                    },
                                    "quantity": {
                                        "type": "integer",
                                        "description": "Capacity used."
                                    },
                                    "address": {
                                        "type": "string",
                                        "description": "Required depending on the service."
                                    },
                                    "customer_notes": {
                                        "type": "string",
                                        "description": "Optional note."
                                    },
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Supplier token only."
                                    },
                                    "customer_name": {
                                        "type": "string",
                                        "description": "Required when no customer is linked."
                                    },
                                    "customer_email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Contact address."
                                    },
                                    "customer_phone": {
                                        "type": "string",
                                        "description": "Contact phone."
                                    }
                                },
                                "required": [
                                    "service_id",
                                    "resource_id",
                                    "starts_at"
                                ]
                            },
                            "example": {
                                "service_id": 1,
                                "resource_id": 1,
                                "starts_at": "2026-10-27T16:00:00Z",
                                "quantity": 1,
                                "address": "example",
                                "customer_notes": "example",
                                "customer_id": 1,
                                "customer_name": "example",
                                "customer_email": "customer@example.com",
                                "customer_phone": "example"
                            }
                        }
                    }
                }
            }
        },
        "/booking/customer-confirm": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Confirm a booking on the customer side.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_customer_confirm",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "booking_id": {
                                        "type": "integer",
                                        "description": "Booking belonging to the signed-in customer."
                                    }
                                },
                                "required": [
                                    "booking_id"
                                ]
                            },
                            "example": {
                                "booking_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/detail": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Retrieve one booking and its history.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_detail",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Booking identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/booking/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List authorised bookings.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "pending | confirmed | in_progress | completed | cancelled | no_show",
                        "schema": {
                            "type": "string"
                        },
                        "example": "pending"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "1 - 200",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/booking/resource/add": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Create a bookable resource.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_resource_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Resource name."
                                    },
                                    "resource_type": {
                                        "type": "string",
                                        "enum": [
                                            "person",
                                            "room",
                                            "equipment",
                                            "vehicle",
                                            "capacity",
                                            "other"
                                        ],
                                        "description": "person | room | equipment | vehicle | capacity | other"
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Resource description."
                                    },
                                    "capacity": {
                                        "type": "integer",
                                        "description": "Concurrent capacity."
                                    },
                                    "location": {
                                        "type": "string",
                                        "description": "Associated location."
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "#RRGGBB"
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Active resource."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Order."
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            },
                            "example": {
                                "name": "example",
                                "resource_type": "person",
                                "description": "example",
                                "capacity": 1,
                                "location": "example",
                                "color": "example",
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/resource/delete": {
            "delete": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Delete an unused resource or archive it.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "delete_booking_resource_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "A used resource will be archived."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/resource/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List people, rooms, vehicles, equipment and capacity resources.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_resource_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/booking/resource/update": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Update a resource.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_resource_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Resource identifier."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name."
                                    },
                                    "capacity": {
                                        "type": "integer",
                                        "description": "Concurrent capacity."
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "name": "example",
                                "capacity": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service-category/add": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Create a main category or subcategory.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_service_category_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Category name."
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "Main category identifier when creating a subcategory."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Optional description."
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "#RRGGBB"
                                    },
                                    "photo_base64": {
                                        "type": "string",
                                        "description": "Single JPG, PNG or WebP photo as base64 or data URI."
                                    },
                                    "photo_file_name": {
                                        "type": "string",
                                        "description": "Optional file name."
                                    },
                                    "photo_mime_type": {
                                        "type": "string",
                                        "description": "image/jpeg | image/png | image/webp"
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Visible in the app."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            },
                            "example": {
                                "name": "example",
                                "parent_id": 1,
                                "description": "example",
                                "color": "example",
                                "photo_base64": "example",
                                "photo_file_name": "example",
                                "photo_mime_type": "example",
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service-category/delete": {
            "delete": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Delete an unused category or archive it.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "delete_booking_service_category_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "A used category will be archived."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service-category/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List service categories and subcategories.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_service_category_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/booking/service-category/update": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Update a service category classification.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_service_category_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Category to update."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name."
                                    },
                                    "parent_id": {
                                        "type": "integer",
                                        "description": "0 for a main category."
                                    },
                                    "photo_base64": {
                                        "type": "string",
                                        "description": "A new photo replaces the current photo."
                                    },
                                    "remove_photo": {
                                        "type": "boolean",
                                        "description": "Remove the current photo."
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "name": "example",
                                "parent_id": 1,
                                "photo_base64": "example",
                                "remove_photo": true
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/add": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Create a service with duration, price and resources.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_service_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Service name."
                                    },
                                    "category_id": {
                                        "type": "integer",
                                        "description": "Main category."
                                    },
                                    "subcategory_id": {
                                        "type": "integer",
                                        "description": "Subcategory belonging to category_id."
                                    },
                                    "short_description": {
                                        "type": "string",
                                        "description": "Short text shown below the title in the mobile list."
                                    },
                                    "long_description": {
                                        "type": "string",
                                        "description": "Detailed presentation shown on the service page."
                                    },
                                    "booking_mode": {
                                        "type": "string",
                                        "enum": [
                                            "appointment",
                                            "duration",
                                            "period",
                                            "capacity"
                                        ],
                                        "description": "appointment | duration | period | capacity"
                                    },
                                    "duration_minutes": {
                                        "type": "integer",
                                        "description": "Actual booking duration, from 5 to 10080 minutes."
                                    },
                                    "slot_interval_minutes": {
                                        "type": "integer",
                                        "description": "Start-time frequency. 0 or omitted = same as duration_minutes."
                                    },
                                    "capacity_required": {
                                        "type": "integer",
                                        "description": "Capacity consumed by one booking."
                                    },
                                    "price_type": {
                                        "type": "string",
                                        "enum": [
                                            "free",
                                            "fixed",
                                            "hourly",
                                            "daily"
                                        ],
                                        "description": "free | fixed | hourly | daily"
                                    },
                                    "price": {
                                        "type": "number",
                                        "description": "Price in the app currency."
                                    },
                                    "deposit_type": {
                                        "type": "string",
                                        "enum": [
                                            "none",
                                            "fixed",
                                            "percent"
                                        ],
                                        "description": "none | fixed | percent"
                                    },
                                    "deposit_value": {
                                        "type": "number",
                                        "description": "Amount or percentage."
                                    },
                                    "location_mode": {
                                        "type": "string",
                                        "enum": [
                                            "business",
                                            "customer",
                                            "online",
                                            "custom"
                                        ],
                                        "description": "business | customer | online | custom"
                                    },
                                    "address_required": {
                                        "type": "boolean",
                                        "description": "Require customer address."
                                    },
                                    "resource_ids": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Eligible resource identifiers."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Visible service."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    }
                                },
                                "required": [
                                    "name",
                                    "resource_ids"
                                ]
                            },
                            "example": {
                                "name": "example",
                                "category_id": 1,
                                "subcategory_id": 1,
                                "short_description": "example",
                                "long_description": "example",
                                "booking_mode": "appointment",
                                "duration_minutes": 1,
                                "slot_interval_minutes": 1,
                                "capacity_required": 1,
                                "price_type": "free",
                                "price": 1,
                                "deposit_type": "none",
                                "deposit_value": 1,
                                "location_mode": "business",
                                "address_required": true,
                                "resource_ids": [],
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/delete": {
            "delete": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Delete an unused service or archive it.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "delete_booking_service_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "A used service will be archived."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/detail": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Retrieve a service detailed description and photo gallery.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_service_detail",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "service_id",
                        "in": "query",
                        "required": true,
                        "description": "Service identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/booking/service/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List bookable services and eligible resources.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_service_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/photo/add": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Add a photo to a service gallery.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_service_photo_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "service_id": {
                                        "type": "integer",
                                        "description": "Service identifier."
                                    },
                                    "photo_base64": {
                                        "type": "string",
                                        "description": "JPG, PNG or WebP image as base64 or data URI."
                                    },
                                    "file_name": {
                                        "type": "string",
                                        "description": "File name."
                                    },
                                    "mime_type": {
                                        "type": "string",
                                        "description": "image/jpeg | image/png | image/webp"
                                    }
                                },
                                "required": [
                                    "service_id",
                                    "photo_base64"
                                ]
                            },
                            "example": {
                                "service_id": 1,
                                "photo_base64": "example",
                                "file_name": "example",
                                "mime_type": "example"
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/photo/delete": {
            "delete": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Delete a service photo.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "delete_booking_service_photo_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "service_id": {
                                        "type": "integer",
                                        "description": "Service identifier."
                                    },
                                    "photo_id": {
                                        "type": "integer",
                                        "description": "Photo to delete."
                                    }
                                },
                                "required": [
                                    "service_id",
                                    "photo_id"
                                ]
                            },
                            "example": {
                                "service_id": 1,
                                "photo_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/photo/primary": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Select the main photo shown in the mobile list.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_service_photo_primary",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "service_id": {
                                        "type": "integer",
                                        "description": "Service identifier."
                                    },
                                    "photo_id": {
                                        "type": "integer",
                                        "description": "Photo used in the mobile list."
                                    }
                                },
                                "required": [
                                    "service_id",
                                    "photo_id"
                                ]
                            },
                            "example": {
                                "service_id": 1,
                                "photo_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/service/update": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Update a bookable service.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_service_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Service identifier."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Service name."
                                    },
                                    "duration_minutes": {
                                        "type": "integer",
                                        "description": "Actual booking duration."
                                    },
                                    "slot_interval_minutes": {
                                        "type": "integer",
                                        "description": "Start-time frequency; 0 uses the service duration."
                                    },
                                    "category_id": {
                                        "type": "integer",
                                        "description": "Main category."
                                    },
                                    "subcategory_id": {
                                        "type": "integer",
                                        "description": "Subcategory."
                                    },
                                    "resource_ids": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Complete eligible-resource list."
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "name": "example",
                                "duration_minutes": 1,
                                "slot_interval_minutes": 1,
                                "category_id": 1,
                                "subcategory_id": 1,
                                "resource_ids": []
                            }
                        }
                    }
                }
            }
        },
        "/booking/slot/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List available slots and slots temporarily pending administrator confirmation.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_slot_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "service_id",
                        "in": "query",
                        "required": true,
                        "description": "Bookable service.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "resource_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit to one resource.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "from_date",
                        "in": "query",
                        "required": false,
                        "description": "YYYY-MM-DD",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "example": "2026-10-27"
                    },
                    {
                        "name": "days",
                        "in": "query",
                        "required": false,
                        "description": "1 - 31",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/booking/status/update": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Advance a booking that has already been confirmed by both sides.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_status_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Booking."
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "pending",
                                            "confirmed",
                                            "in_progress",
                                            "completed",
                                            "cancelled",
                                            "no_show"
                                        ],
                                        "description": "pending | confirmed | in_progress | completed | cancelled | no_show"
                                    }
                                },
                                "required": [
                                    "id",
                                    "status"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "status": "pending"
                            }
                        }
                    }
                }
            }
        },
        "/booking/unavailability/add": {
            "post": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Block a general or resource-specific period.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "post_booking_unavailability_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "resource_id": {
                                        "type": "integer",
                                        "description": "Omit to block the entire business."
                                    },
                                    "starts_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "ISO 8601 with timezone recommended."
                                    },
                                    "ends_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "After starts_at."
                                    },
                                    "reason": {
                                        "type": "string",
                                        "description": "Optional reason."
                                    }
                                },
                                "required": [
                                    "starts_at",
                                    "ends_at"
                                ]
                            },
                            "example": {
                                "resource_id": 1,
                                "starts_at": "2026-10-27T16:00:00Z",
                                "ends_at": "2026-10-27T16:00:00Z",
                                "reason": "example"
                            }
                        }
                    }
                }
            }
        },
        "/booking/unavailability/delete": {
            "delete": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Delete an unavailability.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "delete_booking_unavailability_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Period identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/booking/unavailability/list": {
            "get": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "List holidays, closures and blocked periods.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "get_booking_unavailability_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/booking/update": {
            "patch": {
                "tags": [
                    "Appointments & bookings"
                ],
                "summary": "Reschedule or update a booking.",
                "description": "Configure services, resources, schedules and bookings from the mobile app, an ERP or business software.",
                "operationId": "patch_booking_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Booking to update."
                                    },
                                    "service_id": {
                                        "type": "integer",
                                        "description": "Service."
                                    },
                                    "resource_id": {
                                        "type": "integer",
                                        "description": "Resource."
                                    },
                                    "starts_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "New start."
                                    }
                                },
                                "required": [
                                    "id",
                                    "service_id",
                                    "resource_id",
                                    "starts_at"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "service_id": 1,
                                "resource_id": 1,
                                "starts_at": "2026-10-27T16:00:00Z"
                            }
                        }
                    }
                }
            }
        },
        "/case/checklist/item/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Complete or reopen a step; assigned technician or supplier only.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_checklist_item_update",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "case_id": 123,
                                        "mission_note": "Contrôler puis photographier l’équipement.",
                                        "items": [
                                            {
                                                "id": 301,
                                                "label_fr": "Contrôle visuel",
                                                "label_en": "Visual inspection",
                                                "required": true,
                                                "completed": false,
                                                "note": "",
                                                "documents": []
                                            }
                                        ],
                                        "progress": {
                                            "completed": 0,
                                            "total": 1,
                                            "percent": 0
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case assigned to the technician."
                                    },
                                    "item_id": {
                                        "type": "integer",
                                        "description": "Checklist step."
                                    },
                                    "completed": {
                                        "type": "boolean",
                                        "description": "Complete or reopen the step."
                                    },
                                    "note": {
                                        "type": "string",
                                        "description": "Optional field note."
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "item_id",
                                    "completed"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "item_id": 1,
                                "completed": true,
                                "note": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/checklist/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Retrieve the checklist and progress for an authorised case.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_checklist_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "case_id": 123,
                                        "mission_note": "Contrôler puis photographier l’équipement.",
                                        "items": [
                                            {
                                                "id": 301,
                                                "label_fr": "Contrôle visuel",
                                                "label_en": "Visual inspection",
                                                "required": true,
                                                "completed": false,
                                                "note": "",
                                                "documents": []
                                            }
                                        ],
                                        "progress": {
                                            "completed": 0,
                                            "total": 1,
                                            "percent": 0
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "case_id",
                        "in": "query",
                        "required": true,
                        "description": "Case authorised for the signed-in account.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/checklist/template/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create a global checklist or one linked to an intervention type.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_checklist_template_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Omit or use 0 for every type."
                                    },
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title."
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Steps as strings or objects with label_fr, label_en, required and sort_order."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Active by default."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Template order."
                                    }
                                },
                                "required": [
                                    "title_fr",
                                    "items"
                                ]
                            },
                            "example": {
                                "type_id": 1,
                                "title_fr": "example",
                                "title_en": "example",
                                "items": [],
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/checklist/template/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete an unused template or archive an applied template.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_checklist_template_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "An applied template will be archived."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/checklist/template/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List checklist templates and their steps.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_checklist_template_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 9,
                                                "type_id": 3,
                                                "title_fr": "Maintenance standard",
                                                "title_en": "Standard maintenance",
                                                "active": true,
                                                "items": [
                                                    {
                                                        "id": 91,
                                                        "label_fr": "Contrôle visuel",
                                                        "required": true,
                                                        "sort_order": 10
                                                    }
                                                ]
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/case/checklist/template/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Update a template and safely replace its steps.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_checklist_template_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Template identifier."
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Linked type or 0."
                                    },
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title."
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Complete list replacing template steps."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Availability."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Order."
                                    }
                                },
                                "required": [
                                    "id",
                                    "title_fr",
                                    "items"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "type_id": 1,
                                "title_fr": "example",
                                "title_en": "example",
                                "items": [],
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/create": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create a service request linked to the customer.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_create",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "reference": "DOS-260825-A1B2C3",
                                        "status": "new",
                                        "progress": 0
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with a supplier token."
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Active intervention type."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "Short request title."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Problem or request description."
                                    },
                                    "status": {
                                        "type": "string",
                                        "description": "Supplier only; defaults to new."
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high",
                                            "urgent"
                                        ],
                                        "description": "low | normal | high | urgent"
                                    },
                                    "progress": {
                                        "type": "integer",
                                        "description": "0 - 100"
                                    },
                                    "address": {
                                        "type": "string",
                                        "description": "Service address."
                                    },
                                    "appointment_start": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "YYYY-MM-DD HH:MM:SS"
                                    },
                                    "appointment_end": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "YYYY-MM-DD HH:MM:SS"
                                    },
                                    "assigned_to": {
                                        "type": "string",
                                        "description": "Assigned person or team."
                                    },
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Assigned technician; supplier only."
                                    },
                                    "custom_fields": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "description": "Values indexed by custom field ID or key."
                                    }
                                },
                                "required": [
                                    "title",
                                    "description"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "type_id": 1,
                                "title": "example",
                                "description": "example",
                                "status": "example",
                                "priority": "low",
                                "progress": 1,
                                "address": "example",
                                "appointment_start": "2026-10-27T16:00:00Z",
                                "appointment_end": "2026-10-27T16:00:00Z",
                                "assigned_to": "example",
                                "technician_id": 1,
                                "custom_fields": {}
                            }
                        }
                    }
                }
            }
        },
        "/case/detail": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Retrieve a case with timeline, messages, documents and detailed quotes. The private mission is returned only to the assigned technician and supplier.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_detail",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "reference": "DOS-260825-A1B2C3",
                                        "customer_id": 42,
                                        "type_id": 3,
                                        "title": "Contrôle équipement",
                                        "status_code": "planned",
                                        "priority": "normal",
                                        "progress_percent": 25,
                                        "technician_id": 18,
                                        "custom_fields": [],
                                        "events": [],
                                        "messages": [],
                                        "documents": [],
                                        "quotes": [],
                                        "validations": []
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Case identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/document-type/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create a document type for the shop.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_document_type_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "label_fr": {
                                        "type": "string",
                                        "description": "French type name."
                                    },
                                    "label_en": {
                                        "type": "string",
                                        "description": "English name; falls back to French."
                                    },
                                    "icon": {
                                        "type": "string",
                                        "enum": [
                                            "description",
                                            "photo_camera",
                                            "assignment",
                                            "request_quote",
                                            "receipt_long",
                                            "verified",
                                            "folder",
                                            "build"
                                        ],
                                        "description": "description | photo_camera | assignment | request_quote | receipt_long | verified | folder | build"
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "#RRGGBB"
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Active by default."
                                    }
                                },
                                "required": [
                                    "label_fr"
                                ]
                            },
                            "example": {
                                "label_fr": "example",
                                "label_en": "example",
                                "icon": "description",
                                "color": "example",
                                "sort_order": 1,
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/document-type/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete an unused type or archive a type already in use.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_document_type_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Type identifier. A type in use will be archived."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/document-type/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List document types visible in the mobile app.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_document_type_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 4,
                                                "label_fr": "Rapport",
                                                "label_en": "Report",
                                                "icon": "description",
                                                "color": "#2563eb",
                                                "active": true,
                                                "sort_order": 10,
                                                "document_count": 6
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "include_inactive",
                        "in": "query",
                        "required": false,
                        "description": "Supplier token only; includes archived types.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/case/document-type/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Edit, reorder or hide a document type.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_document_type_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Type identifier."
                                    },
                                    "label_fr": {
                                        "type": "string",
                                        "description": "French type name."
                                    },
                                    "label_en": {
                                        "type": "string",
                                        "description": "English name."
                                    },
                                    "icon": {
                                        "type": "string",
                                        "enum": [
                                            "description",
                                            "photo_camera",
                                            "assignment",
                                            "request_quote",
                                            "receipt_long",
                                            "verified",
                                            "folder",
                                            "build"
                                        ],
                                        "description": "description | photo_camera | assignment | request_quote | receipt_long | verified | folder | build"
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "#RRGGBB"
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Type availability."
                                    }
                                },
                                "required": [
                                    "id",
                                    "label_fr"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "label_fr": "example",
                                "label_en": "example",
                                "icon": "description",
                                "color": "example",
                                "sort_order": 1,
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/document/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Add one or more photos, PDFs, documents or signatures, optionally linked to a checklist step.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_document_add",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Optional case. Required when checklist_item_id is provided."
                                    },
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required with a supplier token when case_id is absent; ignored for an authenticated customer."
                                    },
                                    "document_type_id": {
                                        "type": "integer",
                                        "description": "Classification type; an active default is used when omitted."
                                    },
                                    "checklist_item_id": {
                                        "type": "integer",
                                        "description": "Checklist step that must belong to the specified case. Repeat the call to link multiple files."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "Readable title; falls back to the file name."
                                    },
                                    "folder_path": {
                                        "type": "string",
                                        "description": "Free folder structure separated by /, maximum 8 levels."
                                    },
                                    "note": {
                                        "type": "string",
                                        "description": "Optional note, maximum 5,000 characters."
                                    },
                                    "customer_visible": {
                                        "type": "boolean",
                                        "description": "A supplier token can keep the document internal with false; mobile uploads remain visible."
                                    },
                                    "kind": {
                                        "type": "string",
                                        "enum": [
                                            "photo",
                                            "document",
                                            "signature"
                                        ],
                                        "description": "photo | document | signature"
                                    },
                                    "photo_stage": {
                                        "type": "string",
                                        "enum": [
                                            "general",
                                            "before",
                                            "after"
                                        ],
                                        "description": "general | before | after"
                                    },
                                    "file_name": {
                                        "type": "string",
                                        "description": "File name."
                                    },
                                    "mime_type": {
                                        "type": "string",
                                        "enum": [
                                            "image/jpeg",
                                            "image/png",
                                            "image/webp",
                                            "application/pdf"
                                        ],
                                        "description": "image/jpeg | image/png | image/webp | application/pdf"
                                    },
                                    "content_base64": {
                                        "type": "string",
                                        "description": "Encoded file, maximum 6 MB."
                                    }
                                },
                                "required": [
                                    "file_name",
                                    "mime_type",
                                    "content_base64"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "customer_id": 1,
                                "document_type_id": 1,
                                "checklist_item_id": 1,
                                "title": "example",
                                "folder_path": "example",
                                "note": "example",
                                "customer_visible": true,
                                "kind": "photo",
                                "photo_stage": "general",
                                "file_name": "example",
                                "mime_type": "image/jpeg",
                                "content_base64": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/document/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete a document that is not attached to a quote.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_document_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Document identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/document/get": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Download the Base64 content of an authorised document.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_document_get",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 88,
                                        "case_id": 123,
                                        "title": "Rapport terrain",
                                        "kind": "document",
                                        "file_name": "rapport.pdf",
                                        "mime_type": "application/pdf",
                                        "file_size": 245760,
                                        "origin_type": "technician",
                                        "customer_visible": true,
                                        "content_base64": "JVBERi0xLjQ…"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Document identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/document/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List all authorised documents newest first with their customer, technician or administrator source.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_document_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 88,
                                                "case_id": 123,
                                                "document_type_id": 4,
                                                "title": "Rapport terrain",
                                                "folder_path": "Rapports / 2026",
                                                "kind": "document",
                                                "file_name": "rapport.pdf",
                                                "mime_type": "application/pdf",
                                                "file_size": 245760,
                                                "uploaded_by_type": "technician",
                                                "origin_type": "technician",
                                                "customer_visible": true,
                                                "created_at": "2026-08-25 09:30:00"
                                            }
                                        ],
                                        "pagination": {
                                            "page": 1,
                                            "limit": 25,
                                            "total": 1,
                                            "pages": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Supplier-only filter.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "case_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit to one case.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "unlinked_only",
                        "in": "query",
                        "required": false,
                        "description": "Return only documents not linked to a case.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "name": "document_type_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit to one document type.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "folder_path",
                        "in": "query",
                        "required": false,
                        "description": "Limit to an exact path, for example Reports / 2026.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    }
                ]
            }
        },
        "/case/document/preview": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Load an optimised image thumbnail before opening and zooming.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_document_preview",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 89,
                                        "mime_type": "image/jpeg",
                                        "content_base64": "/9j/4AAQSkZJRg…"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Authorised image-document identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/form/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Add information to request from customers.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_form_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "type_id": {
                                        "type": "integer",
                                        "description": "0 or omitted for every type."
                                    },
                                    "label_fr": {
                                        "type": "string",
                                        "description": "French label."
                                    },
                                    "label_en": {
                                        "type": "string",
                                        "description": "English label."
                                    },
                                    "field_type": {
                                        "type": "string",
                                        "enum": [
                                            "text",
                                            "textarea",
                                            "select",
                                            "boolean",
                                            "date",
                                            "number"
                                        ],
                                        "description": "text | textarea | select | boolean | date | number"
                                    },
                                    "options": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Required for select."
                                    },
                                    "required": {
                                        "type": "boolean",
                                        "description": "Required answer."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    }
                                },
                                "required": [
                                    "label_fr",
                                    "field_type"
                                ]
                            },
                            "example": {
                                "type_id": 1,
                                "label_fr": "example",
                                "label_en": "example",
                                "field_type": "text",
                                "options": [],
                                "required": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/form/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete or archive a custom request field.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_form_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Field identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/form/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List custom service-request fields.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_form_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 7,
                                                "type_id": 3,
                                                "field_key": "serial_number_a1b2c3",
                                                "label_fr": "Numéro de série",
                                                "label_en": "Serial number",
                                                "field_type": "text",
                                                "required": true,
                                                "active": true,
                                                "options": []
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "type_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit to global fields and the selected type.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "include_inactive",
                        "in": "query",
                        "required": false,
                        "description": "Supplier only.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/case/form/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Update a custom request field.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_form_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Field identifier."
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Linked type or 0."
                                    },
                                    "label_fr": {
                                        "type": "string",
                                        "description": "French label."
                                    },
                                    "label_en": {
                                        "type": "string",
                                        "description": "English label."
                                    },
                                    "field_type": {
                                        "type": "string",
                                        "enum": [
                                            "text",
                                            "textarea",
                                            "select",
                                            "boolean",
                                            "date",
                                            "number"
                                        ],
                                        "description": "text | textarea | select | boolean | date | number"
                                    },
                                    "options": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Menu options."
                                    },
                                    "required": {
                                        "type": "boolean",
                                        "description": "Required answer."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Visible field."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Order."
                                    }
                                },
                                "required": [
                                    "id",
                                    "label_fr",
                                    "field_type"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "type_id": 1,
                                "label_fr": "example",
                                "label_en": "example",
                                "field_type": "text",
                                "options": [],
                                "required": true,
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/article/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create a FAQ, information entry, procedure or documentation.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_knowledge_article_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "category_id": {
                                        "type": "integer",
                                        "description": "Optional category."
                                    },
                                    "content_type": {
                                        "type": "string",
                                        "enum": [
                                            "faq",
                                            "information",
                                            "procedure",
                                            "document"
                                        ],
                                        "description": "faq | information | procedure | document"
                                    },
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title."
                                    },
                                    "summary_fr": {
                                        "type": "string",
                                        "description": "French summary."
                                    },
                                    "summary_en": {
                                        "type": "string",
                                        "description": "English summary."
                                    },
                                    "content_fr": {
                                        "type": "string",
                                        "description": "French content."
                                    },
                                    "content_en": {
                                        "type": "string",
                                        "description": "English content."
                                    },
                                    "keywords": {
                                        "type": "string",
                                        "description": "Comma-separated keywords."
                                    },
                                    "featured": {
                                        "type": "boolean",
                                        "description": "Featured."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Published."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Order."
                                    }
                                },
                                "required": [
                                    "content_type",
                                    "title_fr"
                                ]
                            },
                            "example": {
                                "category_id": 1,
                                "content_type": "faq",
                                "title_fr": "example",
                                "title_en": "example",
                                "summary_fr": "example",
                                "summary_en": "example",
                                "content_fr": "example",
                                "content_en": "example",
                                "keywords": "example",
                                "featured": true,
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/article/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete an entry and its attachments.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_knowledge_article_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Entry identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/article/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Edit and publish an entry.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_knowledge_article_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Entry identifier."
                                    },
                                    "content_type": {
                                        "type": "string",
                                        "enum": [
                                            "faq",
                                            "information",
                                            "procedure",
                                            "document"
                                        ],
                                        "description": "faq | information | procedure | document"
                                    },
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title."
                                    },
                                    "content_fr": {
                                        "type": "string",
                                        "description": "French content."
                                    },
                                    "content_en": {
                                        "type": "string",
                                        "description": "English content."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Published."
                                    }
                                },
                                "required": [
                                    "id",
                                    "content_type",
                                    "title_fr"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "content_type": "faq",
                                "title_fr": "example",
                                "title_en": "example",
                                "content_fr": "example",
                                "content_en": "example",
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/categories": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List knowledge-base categories. On mobile, access is restricted to active technicians.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_knowledge_categories",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 6,
                                                "title_fr": "Procédures",
                                                "title_en": "Procedures",
                                                "color": "#2563eb",
                                                "active": true,
                                                "sort_order": 10,
                                                "article_count": 4
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "include_inactive",
                        "in": "query",
                        "required": false,
                        "description": "Supplier token only.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/case/knowledge/category/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create a knowledge category.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_knowledge_category_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title with French fallback."
                                    },
                                    "description_fr": {
                                        "type": "string",
                                        "description": "French description."
                                    },
                                    "description_en": {
                                        "type": "string",
                                        "description": "English description."
                                    },
                                    "color": {
                                        "type": "string",
                                        "description": "#RRGGBB"
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Visible by default."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Order."
                                    }
                                },
                                "required": [
                                    "title_fr"
                                ]
                            },
                            "example": {
                                "title_fr": "example",
                                "title_en": "example",
                                "description_fr": "example",
                                "description_en": "example",
                                "color": "example",
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/category/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete a category while retaining its entries as uncategorised.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_knowledge_category_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Category identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/category/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Edit, reorder or hide a category.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_knowledge_category_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Category identifier."
                                    },
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Visibility."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Order."
                                    }
                                },
                                "required": [
                                    "id",
                                    "title_fr"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "title_fr": "example",
                                "title_en": "example",
                                "active": true,
                                "sort_order": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/detail": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Open an entry and list its attachments without loading large files.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_knowledge_detail",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 31,
                                        "category_id": 6,
                                        "content_type": "procedure",
                                        "title_fr": "Redémarrer l’équipement",
                                        "content_fr": "Suivez les étapes de sécurité.",
                                        "featured": true,
                                        "active": true,
                                        "documents": []
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Entry identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/knowledge/document": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Download an authorised Base64 attachment.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_knowledge_document",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 15,
                                        "article_id": 31,
                                        "file_name": "procedure.pdf",
                                        "mime_type": "application/pdf",
                                        "file_size": 184320,
                                        "content_base64": "JVBERi0xLjQ…"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Attachment identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/knowledge/document/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Attach a document up to 8 MB.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_knowledge_document_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "article_id": {
                                        "type": "integer",
                                        "description": "Parent entry."
                                    },
                                    "title_fr": {
                                        "type": "string",
                                        "description": "French title."
                                    },
                                    "title_en": {
                                        "type": "string",
                                        "description": "English title."
                                    },
                                    "file_name": {
                                        "type": "string",
                                        "description": "File name."
                                    },
                                    "mime_type": {
                                        "type": "string",
                                        "description": "Allowed MIME type."
                                    },
                                    "content_base64": {
                                        "type": "string",
                                        "description": "Maximum 8 MB."
                                    }
                                },
                                "required": [
                                    "article_id",
                                    "file_name",
                                    "mime_type",
                                    "content_base64"
                                ]
                            },
                            "example": {
                                "article_id": 1,
                                "title_fr": "example",
                                "title_en": "example",
                                "file_name": "example",
                                "mime_type": "example",
                                "content_base64": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/document/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete an attachment.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_knowledge_document_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Attachment identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/knowledge/search": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Quickly search FAQs, information, procedures and documents by keyword. Mobile access is technician-only.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_knowledge_search",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 31,
                                                "category_id": 6,
                                                "content_type": "procedure",
                                                "title_fr": "Redémarrer l’équipement",
                                                "summary_fr": "Procédure de contrôle.",
                                                "keywords": "redémarrage, contrôle",
                                                "featured": true,
                                                "document_count": 1
                                            }
                                        ],
                                        "pagination": {
                                            "page": 1,
                                            "limit": 20,
                                            "total": 1,
                                            "pages": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Keyword or phrase, maximum 120 characters.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "description": "Filter by category.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "type",
                        "in": "query",
                        "required": false,
                        "description": "faq | information | procedure | document",
                        "schema": {
                            "type": "string"
                        },
                        "example": "faq"
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page, defaults to 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "1 to 50 results.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List the signed-in customer cases; a supplier token can list every case.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 123,
                                                "reference": "DOS-260825-A1B2C3",
                                                "customer_id": 42,
                                                "type_id": 3,
                                                "type_name": "Maintenance",
                                                "title": "Contrôle équipement",
                                                "status_code": "planned",
                                                "priority": "normal",
                                                "progress_percent": 25,
                                                "technician_id": 18,
                                                "appointment_start": "2026-08-27 08:30:00",
                                                "updated_at": "2026-08-25 09:15:00"
                                            }
                                        ],
                                        "pagination": {
                                            "page": 1,
                                            "limit": 25,
                                            "total": 1,
                                            "pages": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "Filter by status code.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "type_id",
                        "in": "query",
                        "required": false,
                        "description": "Filter by intervention type.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "priority",
                        "in": "query",
                        "required": false,
                        "description": "low | normal | high | urgent",
                        "schema": {
                            "type": "string"
                        },
                        "example": "low"
                    },
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Supplier search by reference, title, description or assignee.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    }
                ]
            }
        },
        "/case/message/send": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Add a message to the case; the sender is identified automatically from the authenticated account.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_message_send",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case identifier."
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "Message to add."
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "message"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "message": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/mission/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Set the private mission visible only to the assigned technician.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_mission_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case whose mission is being set."
                                    },
                                    "mission_note": {
                                        "type": "string",
                                        "description": "Private technician instruction, maximum 10,000 characters. An empty value clears the mission."
                                    }
                                },
                                "required": [
                                    "case_id"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "mission_note": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/notification/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List automatic notifications for the signed-in customer or technician.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_notification_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 501,
                                                "case_id": 123,
                                                "event_key": "case.assigned",
                                                "title_fr": "Nouveau dossier attribué",
                                                "message_fr": "Une intervention vous a été attribuée.",
                                                "read": false,
                                                "created_at": "2026-08-25 09:15:00"
                                            }
                                        ],
                                        "unread_count": 1
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "1 - 100",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "recipient_type",
                        "in": "query",
                        "required": false,
                        "description": "Supplier token only: customer or technician.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "Supplier token only: customer or technician."
                    },
                    {
                        "name": "recipient_id",
                        "in": "query",
                        "required": false,
                        "description": "Supplier token only.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/notification/read": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Mark one or every notification as read.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_notification_read",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Omit to mark all notifications as read."
                                    }
                                }
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/quote/create": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create and send a detailed quote with lines, discounts, VAT and an optional attachment.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_quote_create",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 41,
                                        "case_id": 123,
                                        "quote_number": "DEV-20260825-0123-A1B2",
                                        "status": "sent",
                                        "subtotal": 100,
                                        "discount_total": 0,
                                        "tax_total": 21,
                                        "total": 121,
                                        "currency": "EUR",
                                        "customer_id": 42
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case identifier."
                                    },
                                    "lines": {
                                        "type": "array",
                                        "items": {},
                                        "description": "1 to 100 objects: description, quantity, unit_price, discount_percent and tax_rate."
                                    },
                                    "notes": {
                                        "type": "string",
                                        "description": "Maximum 5,000 characters."
                                    },
                                    "valid_until": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "YYYY-MM-DD"
                                    },
                                    "attachment": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "description": "file_name, mime_type and content_base64; maximum 6 MB."
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "lines"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "lines": [],
                                "notes": "example",
                                "valid_until": "2026-10-27",
                                "attachment": {}
                            }
                        }
                    }
                }
            }
        },
        "/case/quote/respond": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Accept or reject a quote sent to the customer.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_quote_respond",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "quote_id": 41,
                                        "status": "accepted"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case identifier."
                                    },
                                    "quote_id": {
                                        "type": "integer",
                                        "description": "Quote identifier."
                                    },
                                    "decision": {
                                        "type": "string",
                                        "enum": [
                                            "accepted",
                                            "rejected"
                                        ],
                                        "description": "accepted | rejected"
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "quote_id",
                                    "decision"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "quote_id": 1,
                                "decision": "accepted"
                            }
                        }
                    }
                }
            }
        },
        "/case/recurrence/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create a recurrence from a source case.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_recurrence_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "source_case_id": {
                                        "type": "integer",
                                        "description": "Case used as the template."
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "enum": [
                                            "daily",
                                            "weekly",
                                            "monthly",
                                            "yearly"
                                        ],
                                        "description": "daily | weekly | monthly | yearly"
                                    },
                                    "interval_value": {
                                        "type": "integer",
                                        "description": "1 - 52"
                                    },
                                    "next_run_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "YYYY-MM-DD HH:MM:SS"
                                    },
                                    "end_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Optional end date."
                                    }
                                },
                                "required": [
                                    "source_case_id",
                                    "frequency",
                                    "next_run_at"
                                ]
                            },
                            "example": {
                                "source_case_id": 1,
                                "frequency": "daily",
                                "interval_value": 1,
                                "next_run_at": "2026-10-27T16:00:00Z",
                                "end_at": "2026-10-27T16:00:00Z"
                            }
                        }
                    }
                }
            }
        },
        "/case/recurrence/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Stop a recurring service.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_recurrence_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Recurrence identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/recurrence/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List recurring services.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_recurrence_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 12,
                                                "source_case_id": 123,
                                                "frequency": "monthly",
                                                "interval_value": 1,
                                                "next_run_at": "2026-09-25 08:00:00",
                                                "end_at": null,
                                                "active": true
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/case/recurrence/process": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Generate recurring services that are due.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_recurrence_process",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "created": [
                                            {
                                                "id": 124,
                                                "reference": "DOS-260925-D4E5F6",
                                                "recurrence_id": 12
                                            }
                                        ],
                                        "count": 1
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum 200 creations per call."
                                    }
                                }
                            },
                            "example": {
                                "limit": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/recurrence/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Update a recurring service.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_recurrence_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Recurrence identifier."
                                    },
                                    "source_case_id": {
                                        "type": "integer",
                                        "description": "Source case."
                                    },
                                    "frequency": {
                                        "type": "string",
                                        "enum": [
                                            "daily",
                                            "weekly",
                                            "monthly",
                                            "yearly"
                                        ],
                                        "description": "daily | weekly | monthly | yearly"
                                    },
                                    "interval_value": {
                                        "type": "integer",
                                        "description": "1 - 52"
                                    },
                                    "next_run_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "YYYY-MM-DD HH:MM:SS"
                                    },
                                    "end_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Optional end date."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Active recurrence."
                                    }
                                },
                                "required": [
                                    "id",
                                    "source_case_id",
                                    "frequency",
                                    "next_run_at"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "source_case_id": 1,
                                "frequency": "daily",
                                "interval_value": 1,
                                "next_run_at": "2026-10-27T16:00:00Z",
                                "end_at": "2026-10-27T16:00:00Z",
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/report/summary": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Prepare the final report with fields and before/after photos.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_report_summary",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "case": {
                                            "id": 123,
                                            "reference": "DOS-260825-A1B2C3",
                                            "title": "Contrôle équipement"
                                        },
                                        "custom_fields": [],
                                        "photos": {
                                            "before": [],
                                            "after": [],
                                            "general": []
                                        },
                                        "comparison_ready": false
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "case_id",
                        "in": "query",
                        "required": true,
                        "description": "Report case.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/status/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List workflow statuses and their translated labels.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_status_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "code": "in_progress",
                                                "label_fr": "En cours",
                                                "label_en": "In progress",
                                                "color": "#2563eb",
                                                "sort_order": 30,
                                                "is_closed": false
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/case/technician/detail": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Retrieve a technician’s complete professional record.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_technician_detail",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 18,
                                        "prenom": "Alex",
                                        "nom": "Martin",
                                        "mobile_role": "technician",
                                        "employee_code": "TECH-018",
                                        "job_title": "Technicien terrain",
                                        "specialties": "Entretien préventif",
                                        "skills": "Diagnostic, maintenance",
                                        "service_area": "Bruxelles",
                                        "emergency_available": true,
                                        "active": true
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "technician_id",
                        "in": "query",
                        "required": true,
                        "description": "Technician identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/case/technician/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List technicians separately with job, skills, availability and workload.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_technician_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 18,
                                                "prenom": "Alex",
                                                "nom": "Martin",
                                                "mobile_role": "technician",
                                                "employee_code": "TECH-018",
                                                "job_title": "Technicien terrain",
                                                "skills": "Maintenance",
                                                "active": true,
                                                "case_count": 12,
                                                "active_case_count": 3
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/case/technician/profile": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create or update a technician account’s professional profile.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_technician_profile",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "technician_id": {
                                        "type": "integer",
                                        "description": "Mobile account to configure as technician."
                                    },
                                    "employee_code": {
                                        "type": "string",
                                        "description": "Employee or internal code."
                                    },
                                    "job_title": {
                                        "type": "string",
                                        "description": "Technician job title."
                                    },
                                    "specialties": {
                                        "type": "string",
                                        "description": "Field specialities."
                                    },
                                    "skills": {
                                        "type": "string",
                                        "description": "Skills and certifications."
                                    },
                                    "service_area": {
                                        "type": "string",
                                        "description": "Service area."
                                    },
                                    "availability_notes": {
                                        "type": "string",
                                        "description": "Usual availability."
                                    },
                                    "emergency_available": {
                                        "type": "boolean",
                                        "description": "Available for emergencies."
                                    },
                                    "internal_notes": {
                                        "type": "string",
                                        "description": "Internal notes hidden in the app."
                                    },
                                    "profile_color": {
                                        "type": "string",
                                        "description": "#RRGGBB"
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Active technician."
                                    }
                                },
                                "required": [
                                    "technician_id"
                                ]
                            },
                            "example": {
                                "technician_id": 1,
                                "employee_code": "example",
                                "job_title": "example",
                                "specialties": "example",
                                "skills": "example",
                                "service_area": "example",
                                "availability_notes": "example",
                                "emergency_available": true,
                                "internal_notes": "example",
                                "profile_color": "example",
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/technician/role": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Assign the Customer or Technician role to a mobile account.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_technician_role",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Mobile account."
                                    },
                                    "role": {
                                        "type": "string",
                                        "enum": [
                                            "client",
                                            "technician"
                                        ],
                                        "description": "client | technician"
                                    }
                                },
                                "required": [
                                    "customer_id",
                                    "role"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "role": "client"
                            }
                        }
                    }
                }
            }
        },
        "/case/technician/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Allow the assigned technician to update status and progress.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_technician_update",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "in_progress",
                                        "progress": 50,
                                        "technician_id": 18
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Service assigned to the signed-in technician."
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "planned",
                                            "in_progress",
                                            "waiting_customer",
                                            "completed"
                                        ],
                                        "description": "planned | in_progress | waiting_customer | completed"
                                    },
                                    "progress": {
                                        "type": "integer",
                                        "description": "0 - 100"
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "status"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "status": "planned",
                                "progress": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/time/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Manually add a date, start time and end time.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_time_add",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case assigned to the signed-in technician."
                                    },
                                    "started_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "ISO 8601 date and time with timezone."
                                    },
                                    "ended_at": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "After started_at; duration from 1 minute to 48 hours, without overlap."
                                    },
                                    "note": {
                                        "type": "string",
                                        "description": "Optional note."
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "started_at",
                                    "ended_at"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "started_at": "2026-10-27T16:00:00Z",
                                "ended_at": "2026-10-27T16:00:00Z",
                                "note": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/time/delete": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Soft-delete a time entry with a mandatory reason retained in the audit trail.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_time_delete",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "entry_id": {
                                        "type": "integer",
                                        "description": "Completed entry belonging to the technician."
                                    },
                                    "reason": {
                                        "type": "string",
                                        "description": "Mandatory reason from 5 to 1,000 characters."
                                    }
                                },
                                "required": [
                                    "entry_id",
                                    "reason"
                                ]
                            },
                            "example": {
                                "entry_id": 1,
                                "reason": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/time/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List time entries and total tracked time for an authorised case.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_time_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 77,
                                                "case_id": 123,
                                                "technician_id": 18,
                                                "started_at": "2026-08-25 08:00:00",
                                                "ended_at": "2026-08-25 09:30:00",
                                                "duration_seconds": 5400,
                                                "note": "Intervention sur site",
                                                "deleted_at": null
                                            }
                                        ],
                                        "total_seconds": 5400
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "case_id",
                        "in": "query",
                        "required": true,
                        "description": "Case assigned to the technician; supplier access is read-only.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "technician_id",
                        "in": "query",
                        "required": false,
                        "description": "Supplier access only; assigned technician by default.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "include_deleted",
                        "in": "query",
                        "required": false,
                        "description": "Supplier access only; include deleted entries and their reason.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/case/time/start": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Start a live timer for the assigned technician.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_time_start",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case assigned to the signed-in technician."
                                    },
                                    "note": {
                                        "type": "string",
                                        "description": "Optional note, maximum 1,000 characters."
                                    }
                                },
                                "required": [
                                    "case_id"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "note": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/time/stop": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Stop and calculate the active time entry.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_time_stop",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case containing the active time entry."
                                    },
                                    "entry_id": {
                                        "type": "integer",
                                        "description": "Active entry; the current case entry is used when omitted."
                                    }
                                },
                                "required": [
                                    "case_id"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "entry_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/type/add": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Create an intervention type.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_type_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Type name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Maximum 2,000 characters."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Active by default."
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            },
                            "example": {
                                "name": "example",
                                "description": "example",
                                "sort_order": 1,
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/type/delete": {
            "delete": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Delete an unused type or archive a linked type.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "delete_case_type_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "A type in use will be archived."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/case/type/list": {
            "get": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "List available intervention types.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "get_case_type_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [
                                            {
                                                "id": 3,
                                                "name": "Maintenance",
                                                "description": "Intervention de maintenance",
                                                "active": true,
                                                "sort_order": 10,
                                                "case_count": 8
                                            }
                                        ]
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "include_inactive",
                        "in": "query",
                        "required": false,
                        "description": "Supplier only; includes hidden types.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/case/type/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Edit, reorder or hide an intervention type.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_type_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Type identifier."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Type name."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Description."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Type availability."
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "name": "example",
                                "description": "example",
                                "sort_order": 1,
                                "active": true
                            }
                        }
                    }
                }
            }
        },
        "/case/update": {
            "patch": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Update customer, type, status, priority, progress, appointment and assignment.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "patch_case_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "in_progress",
                                        "progress": 50,
                                        "technician_id": 18
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Case identifier."
                                    },
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Linked customer; 0 removes the link."
                                    },
                                    "type_id": {
                                        "type": "integer",
                                        "description": "Type; 0 removes the type."
                                    },
                                    "title": {
                                        "type": "string",
                                        "description": "Case title."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Detailed description."
                                    },
                                    "status": {
                                        "type": "string",
                                        "description": "Code returned by case/status/list."
                                    },
                                    "priority": {
                                        "type": "string",
                                        "enum": [
                                            "low",
                                            "normal",
                                            "high",
                                            "urgent"
                                        ],
                                        "description": "low | normal | high | urgent"
                                    },
                                    "progress": {
                                        "type": "integer",
                                        "description": "0 - 100"
                                    },
                                    "address": {
                                        "type": "string",
                                        "description": "Service address."
                                    },
                                    "appointment_start": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Empty to clear the date."
                                    },
                                    "appointment_end": {
                                        "type": "string",
                                        "format": "date-time",
                                        "description": "Empty to clear the date."
                                    },
                                    "assigned_to": {
                                        "type": "string",
                                        "description": "Assigned person or team."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "customer_id": 1,
                                "type_id": 1,
                                "title": "example",
                                "description": "example",
                                "status": "example",
                                "priority": "low",
                                "progress": 1,
                                "address": "example",
                                "appointment_start": "2026-10-27T16:00:00Z",
                                "appointment_end": "2026-10-27T16:00:00Z",
                                "assigned_to": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/validation/request": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Request customer approval and signature.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_validation_request",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 63,
                                        "case_id": 123,
                                        "status": "pending",
                                        "created": true
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case identifier."
                                    },
                                    "validation_type": {
                                        "type": "string",
                                        "description": "Defaults to completion."
                                    }
                                },
                                "required": [
                                    "case_id"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "validation_type": "example"
                            }
                        }
                    }
                }
            }
        },
        "/case/validation/send": {
            "post": {
                "tags": [
                    "Case tracking"
                ],
                "summary": "Record the customer signature, either directly by the customer or on the assigned technician’s phone.",
                "description": "Service requests, statuses, appointments, messages, photos, documents, quotes and approvals.",
                "operationId": "post_case_validation_send",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 63,
                                        "captured_by_type": "technician"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "case_id": {
                                        "type": "integer",
                                        "description": "Case identifier accessible to the customer or assigned technician."
                                    },
                                    "validation_type": {
                                        "type": "string",
                                        "description": "Defaults to completion."
                                    },
                                    "signature_name": {
                                        "type": "string",
                                        "description": "Name of the customer signing."
                                    },
                                    "signature_base64": {
                                        "type": "string",
                                        "description": "PNG signature image encoded as Base64."
                                    },
                                    "comment": {
                                        "type": "string",
                                        "description": "Optional customer comment."
                                    }
                                },
                                "required": [
                                    "case_id",
                                    "signature_name",
                                    "signature_base64"
                                ]
                            },
                            "example": {
                                "case_id": 1,
                                "validation_type": "example",
                                "signature_name": "example",
                                "signature_base64": "example",
                                "comment": "example"
                            }
                        }
                    }
                }
            }
        },
        "/customer/add": {
            "post": {
                "tags": [
                    "Customers"
                ],
                "summary": "Create a customer and generate the supplier login.",
                "description": "Create and manage customer accounts for each shop.",
                "operationId": "post_customer_add",
                "x-auth-level": "key",
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "nom": {
                                        "type": "string",
                                        "description": "Customer last name."
                                    },
                                    "prenom": {
                                        "type": "string",
                                        "description": "Customer first name."
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email unique within the supplier."
                                    },
                                    "denomination": {
                                        "type": "string",
                                        "description": "Company name, optional."
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "At least eight characters."
                                    },
                                    "address": {
                                        "type": "string",
                                        "description": "Postal address."
                                    },
                                    "zipcode": {
                                        "type": "string",
                                        "description": "Postal code."
                                    },
                                    "city": {
                                        "type": "string",
                                        "description": "City."
                                    },
                                    "country": {
                                        "type": "string",
                                        "description": "Country."
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Phone number."
                                    },
                                    "cellphone": {
                                        "type": "string",
                                        "description": "Mobile phone number."
                                    },
                                    "vat_number": {
                                        "type": "string",
                                        "description": "VAT number."
                                    },
                                    "language": {
                                        "type": "string",
                                        "description": "Two-letter ISO language code."
                                    }
                                },
                                "required": [
                                    "nom",
                                    "prenom",
                                    "email",
                                    "password"
                                ]
                            },
                            "example": {
                                "nom": "example",
                                "prenom": "example",
                                "email": "customer@example.com",
                                "denomination": "example",
                                "password": "ChangeMe123!",
                                "address": "example",
                                "zipcode": "example",
                                "city": "example",
                                "country": "example",
                                "phone": "example",
                                "cellphone": "example",
                                "vat_number": "example",
                                "language": "en"
                            }
                        }
                    }
                }
            }
        },
        "/customer/deleteaccount": {
            "delete": {
                "tags": [
                    "Customers"
                ],
                "summary": "Deactivate the customer account in the active shop.",
                "description": "Create and manage customer accounts for each shop.",
                "operationId": "delete_customer_deleteaccount",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    }
                                }
                            },
                            "example": {
                                "customer_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/customer/list": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "List or filter authorised customer information.",
                "description": "Create and manage customer accounts for each shop.",
                "operationId": "get_customer_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/customer/me": {
            "get": {
                "tags": [
                    "Customers"
                ],
                "summary": "Retrieve the signed-in customer profile.",
                "description": "Create and manage customer accounts for each shop.",
                "operationId": "get_customer_me",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/customer/update": {
            "patch": {
                "tags": [
                    "Customers"
                ],
                "summary": "Update profile, language, type, email or password.",
                "description": "Create and manage customer accounts for each shop.",
                "operationId": "patch_customer_update",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "first_name": {
                                        "type": "string",
                                        "description": "First name."
                                    },
                                    "last_name": {
                                        "type": "string",
                                        "description": "Last name."
                                    },
                                    "company": {
                                        "type": "string",
                                        "description": "Company name."
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "New email address, unique within the shop."
                                    },
                                    "address": {
                                        "type": "string",
                                        "description": "Postal address."
                                    },
                                    "zipcode": {
                                        "type": "string",
                                        "description": "Postal code."
                                    },
                                    "city": {
                                        "type": "string",
                                        "description": "City."
                                    },
                                    "country": {
                                        "type": "string",
                                        "description": "Country."
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Phone number."
                                    },
                                    "cellphone": {
                                        "type": "string",
                                        "description": "Mobile phone number."
                                    },
                                    "vat_number": {
                                        "type": "string",
                                        "description": "VAT number."
                                    },
                                    "language": {
                                        "type": "string",
                                        "description": "Two-letter ISO language code."
                                    },
                                    "account_type": {
                                        "type": "string",
                                        "enum": [
                                            "company",
                                            "individual"
                                        ],
                                        "description": "company | individual"
                                    },
                                    "notifications_enabled": {
                                        "type": "boolean",
                                        "description": "Allow mobile notifications."
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "New password, at least eight characters."
                                    }
                                }
                            },
                            "example": {
                                "customer_id": 1,
                                "first_name": "example",
                                "last_name": "example",
                                "company": "example",
                                "email": "customer@example.com",
                                "address": "example",
                                "zipcode": "example",
                                "city": "example",
                                "country": "example",
                                "phone": "example",
                                "cellphone": "example",
                                "vat_number": "example",
                                "language": "en",
                                "account_type": "company",
                                "notifications_enabled": true,
                                "password": "ChangeMe123!"
                            }
                        }
                    }
                }
            }
        },
        "/document/add": {
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Create a document linked to the customer.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "post_document_add",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "doc_type": {
                                        "type": "string",
                                        "description": "invoice | estimate | purchase_order"
                                    },
                                    "doc_number": {
                                        "type": "string",
                                        "description": "Document number; generated automatically when omitted on creation."
                                    },
                                    "doc_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "YYYY-MM-DD"
                                    },
                                    "due_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "YYYY-MM-DD"
                                    },
                                    "payment_method": {
                                        "type": "string",
                                        "description": "Payment method."
                                    },
                                    "remark": {
                                        "type": "string",
                                        "description": "Free-form remark."
                                    }
                                }
                            },
                            "example": {
                                "customer_id": 1,
                                "doc_type": "example",
                                "doc_number": "example",
                                "doc_date": "2026-10-27",
                                "due_date": "2026-10-27",
                                "payment_method": "example",
                                "remark": "example"
                            }
                        }
                    }
                }
            }
        },
        "/document/delete": {
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Delete a document and its lines.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "delete_document_delete",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "document_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "GUID of the document to delete."
                                    }
                                },
                                "required": [
                                    "document_guid"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "document_guid": "00000000-0000-4000-8000-000000000000"
                            }
                        }
                    }
                }
            }
        },
        "/document/list": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "List or filter documents.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "get_document_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "doc_type",
                        "in": "query",
                        "required": false,
                        "description": "Filter by document type.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "guid",
                        "in": "query",
                        "required": false,
                        "description": "Filter by document GUID.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "example": "00000000-0000-4000-8000-000000000000"
                    }
                ]
            }
        },
        "/document/update": {
            "patch": {
                "tags": [
                    "Documents"
                ],
                "summary": "Update a document identified by GUID.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "patch_document_update",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "document_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "GUID of the document to update."
                                    },
                                    "doc_type": {
                                        "type": "string",
                                        "description": "invoice | estimate | purchase_order"
                                    },
                                    "doc_number": {
                                        "type": "string",
                                        "description": "Document number; generated automatically when omitted on creation."
                                    },
                                    "doc_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "YYYY-MM-DD"
                                    },
                                    "due_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "YYYY-MM-DD"
                                    },
                                    "payment_method": {
                                        "type": "string",
                                        "description": "Payment method."
                                    },
                                    "remark": {
                                        "type": "string",
                                        "description": "Free-form remark."
                                    }
                                },
                                "required": [
                                    "document_guid"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "document_guid": "00000000-0000-4000-8000-000000000000",
                                "doc_type": "example",
                                "doc_number": "example",
                                "doc_date": "2026-10-27",
                                "due_date": "2026-10-27",
                                "payment_method": "example",
                                "remark": "example"
                            }
                        }
                    }
                }
            }
        },
        "/documentline/add": {
            "post": {
                "tags": [
                    "Documents"
                ],
                "summary": "Add a line and recalculate the document.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "post_documentline_add",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "document_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "Document GUID."
                                    },
                                    "text": {
                                        "type": "string",
                                        "description": "Line description."
                                    },
                                    "quantity": {
                                        "type": "number",
                                        "description": "Quantity, default 1."
                                    },
                                    "unit_price": {
                                        "type": "number",
                                        "description": "Unit price excluding VAT."
                                    },
                                    "vat_rate": {
                                        "type": "number",
                                        "description": "VAT rate, default 21."
                                    },
                                    "discount_percentage": {
                                        "type": "number",
                                        "description": "Percentage discount."
                                    },
                                    "product_code": {
                                        "type": "string",
                                        "description": "Associated product code."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Associated product identifier."
                                    },
                                    "packages": {
                                        "type": "number",
                                        "description": "Number of packages."
                                    }
                                },
                                "required": [
                                    "document_guid"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "document_guid": "00000000-0000-4000-8000-000000000000",
                                "text": "example",
                                "quantity": 1,
                                "unit_price": 1,
                                "vat_rate": 1,
                                "discount_percentage": 1,
                                "product_code": "example",
                                "product_id": 1,
                                "packages": 1
                            }
                        }
                    }
                }
            }
        },
        "/documentline/delete": {
            "delete": {
                "tags": [
                    "Documents"
                ],
                "summary": "Delete a line and recalculate totals.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "delete_documentline_delete",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "document_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "Document GUID."
                                    },
                                    "line_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "GUID of the line to delete."
                                    }
                                },
                                "required": [
                                    "document_guid",
                                    "line_guid"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "document_guid": "00000000-0000-4000-8000-000000000000",
                                "line_guid": "00000000-0000-4000-8000-000000000000"
                            }
                        }
                    }
                }
            }
        },
        "/documentline/list": {
            "get": {
                "tags": [
                    "Documents"
                ],
                "summary": "Retrieve a document with all its lines.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "get_documentline_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "guid",
                        "in": "query",
                        "required": true,
                        "description": "GUID of the document whose lines must be retrieved.",
                        "schema": {
                            "type": "string",
                            "format": "uuid"
                        },
                        "example": "00000000-0000-4000-8000-000000000000"
                    }
                ]
            }
        },
        "/documentline/update": {
            "patch": {
                "tags": [
                    "Documents"
                ],
                "summary": "Update a line identified by GUID.",
                "description": "Invoices, estimates, orders and their lines.",
                "operationId": "patch_documentline_update",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "document_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "Document GUID."
                                    },
                                    "line_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "GUID of the line to update."
                                    },
                                    "text": {
                                        "type": "string",
                                        "description": "Line description."
                                    },
                                    "quantity": {
                                        "type": "number",
                                        "description": "Quantity, default 1."
                                    },
                                    "unit_price": {
                                        "type": "number",
                                        "description": "Unit price excluding VAT."
                                    },
                                    "vat_rate": {
                                        "type": "number",
                                        "description": "VAT rate, default 21."
                                    },
                                    "discount_percentage": {
                                        "type": "number",
                                        "description": "Percentage discount."
                                    },
                                    "product_code": {
                                        "type": "string",
                                        "description": "Associated product code."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Associated product identifier."
                                    },
                                    "packages": {
                                        "type": "number",
                                        "description": "Number of packages."
                                    }
                                },
                                "required": [
                                    "document_guid",
                                    "line_guid"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "document_guid": "00000000-0000-4000-8000-000000000000",
                                "line_guid": "00000000-0000-4000-8000-000000000000",
                                "text": "example",
                                "quantity": 1,
                                "unit_price": 1,
                                "vat_rate": 1,
                                "discount_percentage": 1,
                                "product_code": "example",
                                "product_id": 1,
                                "packages": 1
                            }
                        }
                    }
                }
            }
        },
        "/fam1/add": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Create a primary category.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_fam1_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "description": "Visible category name."
                                    },
                                    "external_key": {
                                        "type": "string",
                                        "description": "Stable identifier from your software."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order, starting at 1."
                                    },
                                    "image_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS image URL."
                                    }
                                },
                                "required": [
                                    "name"
                                ]
                            },
                            "example": {
                                "name": "example",
                                "external_key": "example",
                                "sort_order": 1,
                                "image_url": "https://example.com/resource"
                            }
                        }
                    }
                }
            }
        },
        "/fam1/delete": {
            "delete": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Hide a primary category.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "delete_fam1_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Identifier of the category to hide."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/fam1/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List primary categories.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_fam1_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fam1/update": {
            "patch": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Update a primary category.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "patch_fam1_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Identifier of the category to update."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Visible category name."
                                    },
                                    "external_key": {
                                        "type": "string",
                                        "description": "Stable identifier from your software."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order, starting at 1."
                                    },
                                    "image_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS image URL."
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "name": "example",
                                "external_key": "example",
                                "sort_order": 1,
                                "image_url": "https://example.com/resource"
                            }
                        }
                    }
                }
            }
        },
        "/fam2/add": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Create a subcategory.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_fam2_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "category_id": {
                                        "type": "integer",
                                        "description": "Parent primary category identifier."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Visible category name."
                                    },
                                    "external_key": {
                                        "type": "string",
                                        "description": "Stable identifier from your software."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order, starting at 1."
                                    },
                                    "image_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS image URL."
                                    }
                                },
                                "required": [
                                    "category_id",
                                    "name"
                                ]
                            },
                            "example": {
                                "category_id": 1,
                                "name": "example",
                                "external_key": "example",
                                "sort_order": 1,
                                "image_url": "https://example.com/resource"
                            }
                        }
                    }
                }
            }
        },
        "/fam2/delete": {
            "delete": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Hide a subcategory.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "delete_fam2_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Identifier of the subcategory to hide."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/fam2/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List subcategories.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_fam2_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit results to one primary category.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/fam2/update": {
            "patch": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Update a subcategory.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "patch_fam2_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Identifier of the subcategory to update."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Visible category name."
                                    },
                                    "external_key": {
                                        "type": "string",
                                        "description": "Stable identifier from your software."
                                    },
                                    "sort_order": {
                                        "type": "integer",
                                        "description": "Display order, starting at 1."
                                    },
                                    "image_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS image URL."
                                    }
                                },
                                "required": [
                                    "id",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "name": "example",
                                "external_key": "example",
                                "sort_order": 1,
                                "image_url": "https://example.com/resource"
                            }
                        }
                    }
                }
            }
        },
        "/libweb/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List web reference labels, falling back to catalogue labels.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_libweb_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/loyalty/history": {
            "get": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "List the customer’s earning, redemption, correction and expiry history.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "get_loyalty_history",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/loyalty/quote": {
            "post": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Calculate server-side how many points can be redeemed against the current cart.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "post_loyalty_quote",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "loyalty_points": {
                                        "type": "integer",
                                        "description": "Number of points the customer wants to redeem."
                                    },
                                    "delivery_mode": {
                                        "type": "string",
                                        "enum": [
                                            "pickup",
                                            "delivery"
                                        ],
                                        "description": "pickup | delivery"
                                    },
                                    "delivery_country": {
                                        "type": "string",
                                        "description": "Country used to recalculate shipping fees."
                                    },
                                    "promotion_code": {
                                        "type": "string",
                                        "description": "Optional promotion code applied before the loyalty discount."
                                    }
                                },
                                "required": [
                                    "loyalty_points",
                                    "delivery_mode"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "loyalty_points": 1,
                                "delivery_mode": "pickup",
                                "delivery_country": "example",
                                "promotion_code": "example"
                            }
                        }
                    }
                }
            }
        },
        "/loyalty/summary": {
            "get": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Retrieve the loyalty programme, customer balance and available discount value.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "get_loyalty_summary",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/mark/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List available brands.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_mark_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/odoo/account": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Verify the SellViaApp account connected to the Odoo installation.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_odoo_account",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/odoo/categories/archive": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Hide Odoo categories removed from the catalogue.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_categories_archive",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Root category identifiers to hide."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/categories/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Synchronise the Odoo category hierarchy.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_categories_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable Odoo identifier."
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Visible name."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent category."
                                                },
                                                "translations": {
                                                    "type": "object",
                                                    "additionalProperties": true,
                                                    "description": "Translated names keyed by language code."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 500 Odoo categories per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/customers/feed": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Retrieve SellViaApp customers for duplicate-safe reconciliation with Odoo contacts.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_customers_feed",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "limit": {
                                        "type": "integer",
                                        "description": "From 1 to 100 customers per page."
                                    },
                                    "cursor": {
                                        "type": "string",
                                        "description": "Opaque cursor returned by the previous page."
                                    }
                                }
                            },
                            "example": {
                                "limit": 1,
                                "cursor": "example"
                            }
                        }
                    }
                }
            }
        },
        "/odoo/customers/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Send Odoo contacts to SellViaApp and prepare their mobile access.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_customers_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable res.partner identifier."
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "description": "Email used for mobile access."
                                                },
                                                "send_invitation": {
                                                    "type": "boolean",
                                                    "description": "Send the invitation only when creating the account."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "email"
                                            ]
                                        },
                                        "description": "Up to 250 Odoo contacts per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/disconnect": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Immediately revoke this Odoo installation token.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_disconnect",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/odoo/oauth/device/code": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Start an Odoo OAuth authorisation without sharing the SellViaApp password.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_oauth_device_code",
                "x-auth-level": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "client_id": {
                                        "type": "string",
                                        "description": "sellviaapp_odoo"
                                    },
                                    "installation_id": {
                                        "type": "string",
                                        "description": "Stable UUID for this Odoo installation."
                                    },
                                    "instance_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Public HTTPS URL of the Odoo instance."
                                    }
                                },
                                "required": [
                                    "client_id",
                                    "installation_id"
                                ]
                            },
                            "example": {
                                "client_id": "example-id",
                                "installation_id": "example-id",
                                "instance_url": "https://example.com/resource"
                            }
                        }
                    }
                }
            }
        },
        "/odoo/oauth/device/token": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Exchange an approved device code for a revocable integration access token.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_oauth_device_token",
                "x-auth-level": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "client_id": {
                                        "type": "string",
                                        "description": "sellviaapp_odoo"
                                    },
                                    "grant_type": {
                                        "type": "string",
                                        "description": "urn:ietf:params:oauth:grant-type:device_code"
                                    },
                                    "device_code": {
                                        "type": "string",
                                        "description": "Opaque code returned when starting the flow."
                                    }
                                },
                                "required": [
                                    "client_id",
                                    "grant_type",
                                    "device_code"
                                ]
                            },
                            "example": {
                                "client_id": "example-id",
                                "grant_type": "example",
                                "device_code": "example"
                            }
                        }
                    }
                }
            }
        },
        "/odoo/orders/acknowledge": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Record the result of an Odoo order import.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_orders_acknowledge",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Import results with order identifier, status and Odoo reference."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/orders/feed": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Retrieve confirmed SellViaApp orders in Odoo.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_orders_feed",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "limit": {
                                        "type": "integer",
                                        "description": "From 1 to 100 orders per page."
                                    },
                                    "cursor": {
                                        "type": "string",
                                        "description": "Opaque cursor returned by the previous page."
                                    },
                                    "unacknowledged_only": {
                                        "type": "boolean",
                                        "description": "Return only orders not yet imported."
                                    }
                                }
                            },
                            "example": {
                                "limit": 1,
                                "cursor": "example",
                                "unacknowledged_only": true
                            }
                        }
                    }
                }
            }
        },
        "/odoo/products/archive": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Hide removed Odoo products, categories or subcategories.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_products_archive",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "entity_type": {
                                        "type": "string",
                                        "enum": [
                                            "product",
                                            "category",
                                            "subcategory"
                                        ],
                                        "description": "product | category | subcategory"
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "External Odoo identifiers to hide."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "entity_type": "product",
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/products/inventory": {
            "patch": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Quickly update Odoo prices, stock and visibility.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "patch_odoo_products_inventory",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable identifier of an already published product.product record."
                                                },
                                                "stock_quantity": {
                                                    "type": "number",
                                                    "description": "Available or on-hand quantity according to the Odoo setting."
                                                },
                                                "stock_status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "instock",
                                                        "outofstock"
                                                    ],
                                                    "description": "instock | outofstock"
                                                }
                                            },
                                            "required": [
                                                "external_id"
                                            ]
                                        },
                                        "description": "Up to 500 lightweight price, stock or visibility updates."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/products/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Synchronise Odoo variants, references, descriptions, translations, images, prices, VAT and stock.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_odoo_products_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable product.product variant identifier."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "product.template identifier."
                                                },
                                                "sku": {
                                                    "type": "string",
                                                    "description": "Odoo internal reference."
                                                },
                                                "barcode": {
                                                    "type": "string",
                                                    "description": "Barcode."
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Product or variant name."
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "description": "Sales description."
                                                },
                                                "regular_price": {
                                                    "type": "number",
                                                    "description": "Odoo sale price."
                                                },
                                                "vat_rate": {
                                                    "type": "number",
                                                    "description": "First applicable VAT rate."
                                                },
                                                "stock_quantity": {
                                                    "type": "number",
                                                    "description": "Available or on-hand stock according to the Odoo setting."
                                                },
                                                "images": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "Up to five signed Odoo HTTPS image URLs."
                                                },
                                                "translations": {
                                                    "type": "object",
                                                    "additionalProperties": true,
                                                    "description": "Name and description in active Odoo languages."
                                                },
                                                "attributes": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "Variant attributes."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 250 Odoo products or variants per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/odoo/sync/logs": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "View the isolated Odoo synchronisation log.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_odoo_sync_logs",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/order/count/line": {
            "get": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Count lines in the cart.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "get_order_count_line",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/order/delete": {
            "delete": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Clear and delete the current cart.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "delete_order_delete",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    }
                                }
                            },
                            "example": {
                                "customer_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/order/list": {
            "get": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "List every confirmed shop order with pagination.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "get_order_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "guid",
                        "in": "query",
                        "required": false,
                        "description": "Filter a confirmed order by GUID.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "from_date",
                        "in": "query",
                        "required": false,
                        "description": "Filter from this date using YYYY-MM-DD.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        },
                        "example": "2026-10-27"
                    }
                ]
            }
        },
        "/order/sendtomegawin": {
            "post": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Confirm the order, fulfilment mode and address.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "post_order_sendtomegawin",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "order_guid": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "GUID of the cart to confirm."
                                    },
                                    "delivery_mode": {
                                        "type": "string",
                                        "enum": [
                                            "pickup",
                                            "delivery"
                                        ],
                                        "description": "pickup | delivery"
                                    },
                                    "delivery_address": {
                                        "type": "string",
                                        "description": "Required for delivery."
                                    },
                                    "delivery_country": {
                                        "type": "string",
                                        "description": "Two-letter ISO code or country name used to calculate the rate."
                                    },
                                    "delivery_date": {
                                        "type": "string",
                                        "format": "date",
                                        "description": "YYYY-MM-DD"
                                    },
                                    "delivery_comment": {
                                        "type": "string",
                                        "description": "Fulfilment instructions."
                                    },
                                    "language": {
                                        "type": "string",
                                        "description": "Transactional email language."
                                    },
                                    "promotion_code": {
                                        "type": "string",
                                        "description": "Optional code, revalidated and redeemed atomically during confirmation."
                                    },
                                    "loyalty_points": {
                                        "type": "integer",
                                        "description": "Points to redeem; balance and rules are revalidated and debited atomically."
                                    }
                                },
                                "required": [
                                    "delivery_mode"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "order_guid": "00000000-0000-4000-8000-000000000000",
                                "delivery_mode": "pickup",
                                "delivery_address": "example",
                                "delivery_country": "example",
                                "delivery_date": "2026-10-27",
                                "delivery_comment": "example",
                                "language": "en",
                                "promotion_code": "example",
                                "loyalty_points": 1
                            }
                        }
                    }
                }
            }
        },
        "/order/shipping/quote": {
            "post": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Calculate shipping fees from the cart, fulfilment mode and country.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "post_order_shipping_quote",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Shipping fee calculated",
                                    "data": {
                                        "delivery_mode": "delivery",
                                        "country_code": "BE",
                                        "shipping_mode": "country_rules",
                                        "shipping_fee": 6.9,
                                        "free_shipping": false,
                                        "free_shipping_from": 75,
                                        "amount_until_free": 25,
                                        "product_total": 50,
                                        "total": 56.9,
                                        "rule": "country:BE",
                                        "currency": "EUR",
                                        "currency_symbol": "€"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "delivery_mode": {
                                        "type": "string",
                                        "enum": [
                                            "pickup",
                                            "delivery"
                                        ],
                                        "description": "pickup | delivery"
                                    },
                                    "delivery_country": {
                                        "type": "string",
                                        "description": "Two-letter ISO code or delivery-country name."
                                    },
                                    "promotion_code": {
                                        "type": "string",
                                        "description": "Optional code; the quote recalculates the discount before shipping fees."
                                    }
                                },
                                "required": [
                                    "delivery_mode"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "delivery_mode": "pickup",
                                "delivery_country": "example",
                                "promotion_code": "example"
                            }
                        }
                    }
                }
            }
        },
        "/order/total": {
            "get": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Calculate cart subtotal, VAT and total.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "get_order_total",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/orderline/add": {
            "post": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Add a product and quantity to the cart.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "post_orderline_add",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Identifier of the product to add."
                                    },
                                    "quantity": {
                                        "type": "number",
                                        "description": "Quantity strictly greater than zero."
                                    }
                                },
                                "required": [
                                    "product_id",
                                    "quantity"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "product_id": 1,
                                "quantity": 1
                            }
                        }
                    }
                }
            }
        },
        "/orderline/delete": {
            "delete": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Remove a line from the cart.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "delete_orderline_delete",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "item_id": {
                                        "type": "integer",
                                        "description": "Identifier of the line to remove."
                                    }
                                },
                                "required": [
                                    "item_id"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "item_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/orderline/list": {
            "get": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Retrieve current cart lines.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "get_orderline_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/orderline/update": {
            "patch": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Update a line quantity.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "patch_orderline_update",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "item_id": {
                                        "type": "integer",
                                        "description": "Cart line identifier."
                                    },
                                    "quantity": {
                                        "type": "number",
                                        "description": "Quantity; zero removes the line."
                                    }
                                },
                                "required": [
                                    "item_id",
                                    "quantity"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "item_id": 1,
                                "quantity": 1
                            }
                        }
                    }
                }
            }
        },
        "/payment/checkout/create": {
            "post": {
                "tags": [
                    "Customer payments"
                ],
                "summary": "Create or resume a Stripe Checkout page for an unpaid order or booking owned by the signed-in customer. A still-changeable pay-on-delivery choice is safely replaced.",
                "description": "Choose pay on delivery or open a secure Stripe payment, then retrieve its server-verified status.",
                "operationId": "post_payment_checkout_create",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "purpose_type": {
                                        "type": "string",
                                        "enum": [
                                            "order",
                                            "booking"
                                        ],
                                        "description": "order | booking"
                                    },
                                    "purpose_id": {
                                        "type": "integer",
                                        "description": "Identifier of the confirmed order or customer-confirmed booking."
                                    }
                                },
                                "required": [
                                    "purpose_type",
                                    "purpose_id"
                                ]
                            },
                            "example": {
                                "purpose_type": "order",
                                "purpose_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/payment/config": {
            "get": {
                "tags": [
                    "Customer payments"
                ],
                "summary": "Retrieve the enabled Stripe payment methods and the Stripe account provider selected for the app.",
                "description": "Choose pay on delivery or open a secure Stripe payment, then retrieve its server-verified status.",
                "operationId": "get_payment_config",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/payment/pay-later": {
            "post": {
                "tags": [
                    "Customer payments"
                ],
                "summary": "Record pay on delivery or replace a still-open Stripe payment after its session is securely checked and expired.",
                "description": "Choose pay on delivery or open a secure Stripe payment, then retrieve its server-verified status.",
                "operationId": "post_payment_pay_later",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "purpose_type": {
                                        "type": "string",
                                        "enum": [
                                            "order",
                                            "booking"
                                        ],
                                        "description": "order | booking"
                                    },
                                    "purpose_id": {
                                        "type": "integer",
                                        "description": "Authorised order or booking identifier."
                                    }
                                },
                                "required": [
                                    "purpose_type",
                                    "purpose_id"
                                ]
                            },
                            "example": {
                                "purpose_type": "order",
                                "purpose_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/payment/status": {
            "get": {
                "tags": [
                    "Customer payments"
                ],
                "summary": "Retrieve a payment status; only the signed Stripe webhook can confirm it as paid.",
                "description": "Choose pay on delivery or open a secure Stripe payment, then retrieve its server-verified status.",
                "operationId": "get_payment_status",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "reference",
                        "in": "query",
                        "required": false,
                        "description": "SellViaApp payment reference. Otherwise provide purpose_type and purpose_id.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "purpose_type",
                        "in": "query",
                        "required": false,
                        "description": "order | booking",
                        "schema": {
                            "type": "string"
                        },
                        "example": "order"
                    },
                    {
                        "name": "purpose_id",
                        "in": "query",
                        "required": false,
                        "description": "Paid object identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/price/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List prices applicable to the customer group, falling back to the product sales price.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_price_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit results to one product.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "price_group",
                        "in": "query",
                        "required": false,
                        "description": "Price group, defaults to 01.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    }
                ]
            }
        },
        "/product/action": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Retrieve a product action type and its settings.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_product_action",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": true,
                        "description": "Identifier of the product action to retrieve.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/product/action/configure": {
            "put": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Configure direct purchase, auction or information request and their settings.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "put_product_action_configure",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Identifier of the product to configure."
                                    },
                                    "action_type": {
                                        "type": "string",
                                        "enum": [
                                            "cart",
                                            "auction",
                                            "inquiry"
                                        ],
                                        "description": "cart | auction | inquiry"
                                    },
                                    "auction": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "properties": {
                                            "start_price": {
                                                "type": "number",
                                                "description": "Required starting price for auction."
                                            },
                                            "buy_now_price": {
                                                "type": "number",
                                                "description": "Optional buy-now price."
                                            },
                                            "minimum_increment": {
                                                "type": "number",
                                                "description": "Optional minimum increment."
                                            },
                                            "starts_at": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Optional start as ISO 8601 with timezone."
                                            },
                                            "ends_at": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Optional end as ISO 8601 with timezone."
                                            },
                                            "hide_after_end": {
                                                "type": "boolean",
                                                "description": "Hide the product after the end date."
                                            },
                                            "terms": {
                                                "type": "string",
                                                "description": "Terms, maximum 5,000 characters."
                                            }
                                        }
                                    },
                                    "inquiry": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "properties": {
                                            "prompt": {
                                                "type": "string",
                                                "description": "Optional prompt, maximum 1,000 characters."
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "product_id",
                                    "action_type"
                                ]
                            },
                            "example": {
                                "product_id": 1,
                                "action_type": "cart"
                            }
                        }
                    }
                }
            }
        },
        "/product/add": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Create a product.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_product_add",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "code": {
                                        "type": "string",
                                        "description": "Product code unique within the shop."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name displayed in the app."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Detailed product description."
                                    },
                                    "base_price": {
                                        "type": "number",
                                        "description": "Selling price excluding tax according to your configuration."
                                    },
                                    "vat_rate": {
                                        "type": "number",
                                        "description": "VAT rate, for example 21."
                                    },
                                    "category_id": {
                                        "type": "integer",
                                        "description": "Primary category identifier."
                                    },
                                    "subcategory_id": {
                                        "type": "integer",
                                        "description": "Subcategory identifier."
                                    },
                                    "external_key": {
                                        "type": "string",
                                        "description": "Stable identifier from your ERP."
                                    },
                                    "unit": {
                                        "type": "string",
                                        "description": "Unit code, for example pc."
                                    },
                                    "unit_name": {
                                        "type": "string",
                                        "description": "Human-readable unit name."
                                    },
                                    "image_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS URL of the main image."
                                    },
                                    "is_new": {
                                        "type": "boolean",
                                        "description": "Highlight the product as new."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Controls product visibility."
                                    },
                                    "action_type": {
                                        "type": "string",
                                        "enum": [
                                            "cart",
                                            "auction",
                                            "inquiry"
                                        ],
                                        "description": "cart | auction | inquiry"
                                    },
                                    "auction": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "properties": {
                                            "start_price": {
                                                "type": "number",
                                                "description": "Required starting price when action_type is auction."
                                            },
                                            "buy_now_price": {
                                                "type": "number",
                                                "description": "Optional buy-now price."
                                            },
                                            "minimum_increment": {
                                                "type": "number",
                                                "description": "Optional minimum bid increment."
                                            },
                                            "starts_at": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Optional start as ISO 8601 with timezone."
                                            },
                                            "ends_at": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Optional end as ISO 8601 with timezone."
                                            },
                                            "hide_after_end": {
                                                "type": "boolean",
                                                "description": "Hide the product after expiry; requires ends_at."
                                            },
                                            "terms": {
                                                "type": "string",
                                                "description": "Auction-specific terms, maximum 5,000 characters."
                                            }
                                        }
                                    },
                                    "inquiry": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "properties": {
                                            "prompt": {
                                                "type": "string",
                                                "description": "Information-request prompt, maximum 1,000 characters."
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "code",
                                    "name"
                                ]
                            },
                            "example": {
                                "code": "example",
                                "name": "example",
                                "description": "example",
                                "base_price": 1,
                                "vat_rate": 1,
                                "category_id": 1,
                                "subcategory_id": 1,
                                "external_key": "example",
                                "unit": "example",
                                "unit_name": "example",
                                "image_url": "https://example.com/resource",
                                "is_new": true,
                                "active": true,
                                "action_type": "cart"
                            }
                        }
                    }
                }
            }
        },
        "/product/auction": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Retrieve an auction state and anonymised bid history.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_product_auction",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "product_id",
                        "in": "query",
                        "required": true,
                        "description": "Identifier of the auction product.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/product/auction/bid": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Place a bid with atomic minimum-amount validation.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_product_auction_bid",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Identifier of the auction product."
                                    },
                                    "amount": {
                                        "type": "number",
                                        "description": "Bid amount, at least the minimum returned by the server."
                                    }
                                },
                                "required": [
                                    "product_id",
                                    "amount"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "product_id": 1,
                                "amount": 1
                            }
                        }
                    }
                }
            }
        },
        "/product/auction/buy-now": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Buy now and atomically close the auction.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_product_auction_buy_now",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Identifier of the product with buy now enabled."
                                    }
                                },
                                "required": [
                                    "product_id"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "product_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/product/delete": {
            "delete": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Hide a product.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "delete_product_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Identifier of the product to hide."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/product/favoris": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Add or remove a product from favourites.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_product_favoris",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Product identifier."
                                    },
                                    "favorite": {
                                        "type": "boolean",
                                        "description": "true to add, false to remove; toggles the state when omitted."
                                    }
                                },
                                "required": [
                                    "product_id"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "product_id": 1,
                                "favorite": true
                            }
                        }
                    }
                }
            }
        },
        "/product/image": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Serve a signed, cacheable product image.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_product_image",
                "x-auth-level": "signed",
                "security": [],
                "responses": {
                    "200": {
                        "description": "Binary image with its MIME type",
                        "content": {
                            "image/*": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Invalid signed link",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "supplier",
                        "in": "query",
                        "required": true,
                        "description": "Public shop suffix.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "id",
                        "in": "query",
                        "required": true,
                        "description": "Product identifier.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "slot",
                        "in": "query",
                        "required": false,
                        "description": "Image slot from 1 to 5.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "signature",
                        "in": "query",
                        "required": true,
                        "description": "Signed-link signature returned by product/list.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "variant",
                        "in": "query",
                        "required": false,
                        "description": "small | thumb | large",
                        "schema": {
                            "type": "string"
                        },
                        "example": "small"
                    }
                ]
            }
        },
        "/product/inquiry": {
            "post": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Send an information request linked to a product.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "post_product_inquiry",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "product_id": {
                                        "type": "integer",
                                        "description": "Identifier of the related product."
                                    },
                                    "message": {
                                        "type": "string",
                                        "description": "Customer question, 5 to 5,000 characters."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Contact name; defaults to the signed-in profile."
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Reply email; either email or phone is required."
                                    },
                                    "phone": {
                                        "type": "string",
                                        "description": "Reply phone; either email or phone is required."
                                    }
                                },
                                "required": [
                                    "product_id",
                                    "message"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "product_id": 1,
                                "message": "example",
                                "name": "example",
                                "email": "customer@example.com",
                                "phone": "example"
                            }
                        }
                    }
                }
            }
        },
        "/product/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List and search products with pagination.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_product_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "customer_id",
                        "in": "query",
                        "required": false,
                        "description": "Required only with an integration token when the operation targets a specific customer.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "search",
                        "in": "query",
                        "required": false,
                        "description": "Search by code, name or description.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "category_id",
                        "in": "query",
                        "required": false,
                        "description": "Primary category filter.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "subcategory_id",
                        "in": "query",
                        "required": false,
                        "description": "Subcategory filter.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "price_group",
                        "in": "query",
                        "required": false,
                        "description": "Customer price group.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "favorites",
                        "in": "query",
                        "required": false,
                        "description": "Return favourites only.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "name": "promotions",
                        "in": "query",
                        "required": false,
                        "description": "Return active promotions only.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "name": "new",
                        "in": "query",
                        "required": false,
                        "description": "Return new products only.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    },
                    {
                        "name": "progressive",
                        "in": "query",
                        "required": false,
                        "description": "Fast pagination without calculating the total count.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/product/update": {
            "patch": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "Update a product.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "patch_product_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Identifier of the product to update."
                                    },
                                    "code": {
                                        "type": "string",
                                        "description": "Product code unique within the shop."
                                    },
                                    "name": {
                                        "type": "string",
                                        "description": "Name displayed in the app."
                                    },
                                    "description": {
                                        "type": "string",
                                        "description": "Detailed product description."
                                    },
                                    "base_price": {
                                        "type": "number",
                                        "description": "Selling price excluding tax according to your configuration."
                                    },
                                    "vat_rate": {
                                        "type": "number",
                                        "description": "VAT rate, for example 21."
                                    },
                                    "category_id": {
                                        "type": "integer",
                                        "description": "Primary category identifier."
                                    },
                                    "subcategory_id": {
                                        "type": "integer",
                                        "description": "Subcategory identifier."
                                    },
                                    "external_key": {
                                        "type": "string",
                                        "description": "Stable identifier from your ERP."
                                    },
                                    "unit": {
                                        "type": "string",
                                        "description": "Unit code, for example pc."
                                    },
                                    "unit_name": {
                                        "type": "string",
                                        "description": "Human-readable unit name."
                                    },
                                    "image_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS URL of the main image."
                                    },
                                    "is_new": {
                                        "type": "boolean",
                                        "description": "Highlight the product as new."
                                    },
                                    "active": {
                                        "type": "boolean",
                                        "description": "Controls product visibility."
                                    },
                                    "action_type": {
                                        "type": "string",
                                        "enum": [
                                            "cart",
                                            "auction",
                                            "inquiry"
                                        ],
                                        "description": "cart | auction | inquiry"
                                    },
                                    "auction": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "properties": {
                                            "start_price": {
                                                "type": "number",
                                                "description": "Required starting price when action_type is auction."
                                            },
                                            "buy_now_price": {
                                                "type": "number",
                                                "description": "Optional buy-now price."
                                            },
                                            "minimum_increment": {
                                                "type": "number",
                                                "description": "Optional minimum bid increment."
                                            },
                                            "starts_at": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Optional start as ISO 8601 with timezone."
                                            },
                                            "ends_at": {
                                                "type": "string",
                                                "format": "date-time",
                                                "description": "Optional end as ISO 8601 with timezone."
                                            },
                                            "hide_after_end": {
                                                "type": "boolean",
                                                "description": "Hide the product after expiry; requires ends_at."
                                            },
                                            "terms": {
                                                "type": "string",
                                                "description": "Auction-specific terms, maximum 5,000 characters."
                                            }
                                        }
                                    },
                                    "inquiry": {
                                        "type": "object",
                                        "additionalProperties": true,
                                        "properties": {
                                            "prompt": {
                                                "type": "string",
                                                "description": "Information-request prompt, maximum 1,000 characters."
                                            }
                                        }
                                    }
                                },
                                "required": [
                                    "id",
                                    "code",
                                    "name"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "code": "example",
                                "name": "example",
                                "description": "example",
                                "base_price": 1,
                                "vat_rate": 1,
                                "category_id": 1,
                                "subcategory_id": 1,
                                "external_key": "example",
                                "unit": "example",
                                "unit_name": "example",
                                "image_url": "https://example.com/resource",
                                "is_new": true,
                                "active": true,
                                "action_type": "cart"
                            }
                        }
                    }
                }
            }
        },
        "/promotion/validate": {
            "post": {
                "tags": [
                    "Cart and orders"
                ],
                "summary": "Validate a promotion code against the current cart on the server and calculate net, VAT and total discounts.",
                "description": "Manage the cart and confirm an order atomically.",
                "operationId": "post_promotion_validate",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Promotion code validated",
                                    "data": {
                                        "promotion": {
                                            "id": 12,
                                            "code": "WELCOME10",
                                            "name": "Welcome offer",
                                            "discount_type": "percent",
                                            "discount_value": 10,
                                            "scope": "all",
                                            "currency": "EUR",
                                            "currency_symbol": "€",
                                            "eligible_item_count": 2,
                                            "original_product_total": 60.5,
                                            "discount_net": 5,
                                            "discount_tax": 1.05,
                                            "discount_total": 6.05,
                                            "subtotal": 45,
                                            "vat_total": 9.45,
                                            "product_total": 54.45
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "customer_id": {
                                        "type": "integer",
                                        "description": "Required only with an integration token when the operation targets a specific customer."
                                    },
                                    "promotion_code": {
                                        "type": "string",
                                        "description": "Code containing 3 to 64 letters, numbers, hyphens or underscores. The server checks dates, usage limit and eligibility."
                                    }
                                },
                                "required": [
                                    "promotion_code"
                                ]
                            },
                            "example": {
                                "customer_id": 1,
                                "promotion_code": "example"
                            }
                        }
                    }
                }
            }
        },
        "/shopify/account": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Identify the store and retrieve its mobile test account.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_shopify_account",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shopify/categories/archive": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Archive a deleted Shopify collection.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_categories_archive",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "GIDs of deleted collections."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/categories/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Sync Shopify collections and product types.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_categories_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable Shopify GID."
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Visible name."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent collection for a product type."
                                                },
                                                "images": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "HTTPS URLs."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 500 collections or product types."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/customers/redact": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Redact customer data requested by Shopify.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_customers_redact",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Customer GIDs to redact."
                                    },
                                    "all": {
                                        "type": "boolean",
                                        "description": "Redacts all Shopify customers for shop/redact."
                                    }
                                }
                            },
                            "example": {
                                "items": [],
                                "all": true
                            }
                        }
                    }
                }
            }
        },
        "/shopify/customers/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Sync Shopify customers without sending email.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_customers_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Shopify customer GID."
                                                },
                                                "username": {
                                                    "type": "string",
                                                    "description": "Username used in SellViaApp."
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "description": "Customer email."
                                                },
                                                "send_email": {
                                                    "type": "boolean",
                                                    "description": "Must remain false."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "username"
                                            ]
                                        },
                                        "description": "Up to 250 customers; no email is sent."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/orders/acknowledge": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Acknowledge a Shopify order import.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_orders_acknowledge",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "order_guid": {
                                                    "type": "string",
                                                    "description": "SellViaApp GUID."
                                                },
                                                "external_order_id": {
                                                    "type": "string",
                                                    "description": "Created Shopify GID."
                                                },
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "imported",
                                                        "failed",
                                                        "ignored"
                                                    ],
                                                    "description": "imported | failed | ignored"
                                                }
                                            },
                                            "required": [
                                                "order_guid",
                                                "status"
                                            ]
                                        },
                                        "description": "Imported orders."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/orders/feed": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Retrieve SellViaApp orders not yet imported into Shopify.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_shopify_orders_feed",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Opaque cursor.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "1–100",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "unacknowledged_only",
                        "in": "query",
                        "required": false,
                        "description": "true recommended.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/shopify/products/archive": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Archive Shopify variants by identifier.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_products_archive",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Variant GIDs to archive."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/products/archive-parent": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Archive every variant of a deleted Shopify product.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_products_archive_parent",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Up to 100 parent product GIDs."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/products/inventory": {
            "patch": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Quickly update Shopify prices, inventory or visibility.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "patch_shopify_products_inventory",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Up to 500 lightweight updates."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/products/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Sync Shopify products, variants, images, prices, inventory and visibility.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_products_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Variant GID."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent product GID."
                                                },
                                                "sku": {
                                                    "type": "string",
                                                    "description": "SKU"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Product and variant title."
                                                },
                                                "regular_price": {
                                                    "type": "number",
                                                    "description": "Regular or compare-at price."
                                                },
                                                "sale_price": {
                                                    "type": "number",
                                                    "description": "Active sale price."
                                                },
                                                "stock_quantity": {
                                                    "type": "integer",
                                                    "description": "Available quantity."
                                                },
                                                "images": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "Up to five HTTPS images."
                                                },
                                                "active": {
                                                    "type": "boolean",
                                                    "description": "SellViaApp visibility."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 250 Shopify variants per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/shopify/sync/logs": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "View Shopify logs isolated from WooCommerce.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_shopify_sync_logs",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/shopify/webhooks/delete": {
            "delete": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Disable a Shopify webhook.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "delete_shopify_webhooks_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Webhook ID"
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/shopify/webhooks/list": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "List Shopify connector webhooks.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_shopify_webhooks_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/shopify/webhooks/process": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Retry pending Shopify notifications.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_webhooks_process",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum count."
                                    }
                                }
                            },
                            "example": {
                                "limit": 1
                            }
                        }
                    }
                }
            }
        },
        "/shopify/webhooks/subscribe": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Register the signed SellViaApp webhook for Shopify.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_shopify_webhooks_subscribe",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "target_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Connector HTTPS URL."
                                    },
                                    "events": {
                                        "type": "array",
                                        "items": {},
                                        "description": "order.created | order.updated | order.cancelled | *"
                                    }
                                },
                                "required": [
                                    "target_url"
                                ]
                            },
                            "example": {
                                "target_url": "https://example.com/resource",
                                "events": []
                            }
                        }
                    }
                }
            }
        },
        "/size/list": {
            "get": {
                "tags": [
                    "Catalogue"
                ],
                "summary": "List available sizes.",
                "description": "Categories, products, images, prices, stock, promotions and favourites.",
                "operationId": "get_size_list",
                "x-auth-level": "user",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/deliveries/list": {
            "get": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Inspect deliveries, responses, errors and attempts.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "get_webhooks_deliveries_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "required": false,
                        "description": "pending | processing | retry | delivered | failed",
                        "schema": {
                            "type": "string"
                        },
                        "example": "pending"
                    },
                    {
                        "name": "endpoint_id",
                        "in": "query",
                        "required": false,
                        "description": "Limit results to one destination.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/webhooks/deliveries/retry": {
            "post": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Retry one delivery without replaying the others.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "post_webhooks_deliveries_retry",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Internal delivery identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/endpoints/create": {
            "post": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Create an HTTPS destination and receive its signing secret once.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "post_webhooks_endpoints_create",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "label": {
                                        "type": "string",
                                        "description": "Internal name for this destination."
                                    },
                                    "target_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Public HTTPS URL on port 443. Private networks and redirects are rejected."
                                    },
                                    "events": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Exact events, a group such as product.*, or all with *."
                                    }
                                },
                                "required": [
                                    "label",
                                    "target_url",
                                    "events"
                                ]
                            },
                            "example": {
                                "label": "example",
                                "target_url": "https://example.com/resource",
                                "events": []
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/endpoints/delete": {
            "delete": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Soft-delete a destination.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "delete_webhooks_endpoints_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Destination identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/endpoints/list": {
            "get": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "List destinations, status and counters.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "get_webhooks_endpoints_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/endpoints/rotate-secret": {
            "post": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Replace the HMAC secret and reveal it once.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "post_webhooks_endpoints_rotate_secret",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Destination identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/endpoints/update": {
            "patch": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Update the destination, events or pause delivery.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "patch_webhooks_endpoints_update",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Destination identifier."
                                    },
                                    "label": {
                                        "type": "string",
                                        "description": "New label."
                                    },
                                    "target_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "New HTTPS URL."
                                    },
                                    "events": {
                                        "type": "array",
                                        "items": {},
                                        "description": "New event selection."
                                    },
                                    "status": {
                                        "type": "string",
                                        "enum": [
                                            "active",
                                            "paused"
                                        ],
                                        "description": "active | paused"
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1,
                                "label": "example",
                                "target_url": "https://example.com/resource",
                                "events": [],
                                "status": "active"
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/events": {
            "get": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "List all available events and the contract version.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "get_webhooks_events",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/stats": {
            "get": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Retrieve the last thirty days of delivery metrics.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "get_webhooks_stats",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/webhooks/test": {
            "post": {
                "tags": [
                    "Real-time webhooks"
                ],
                "summary": "Emit and deliver a signed test event.",
                "description": "Automatically receive SellViaApp changes in your ERP, CRM, automation or business service.",
                "operationId": "post_webhooks_test",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "endpoint_id": {
                                        "type": "integer",
                                        "description": "Destination to test."
                                    }
                                },
                                "required": [
                                    "endpoint_id"
                                ]
                            },
                            "example": {
                                "endpoint_id": 1
                            }
                        }
                    }
                }
            }
        },
        "/wix/account": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Identify the SellViaApp account connected to Wix and its mobile test account.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_wix_account",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/wix/categories/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Synchronise Wix Stores V1/V3 categories or collections.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_categories_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable Wix identifier."
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Name displayed in the app."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent category identifier."
                                                },
                                                "image": {
                                                    "type": "string",
                                                    "format": "uri",
                                                    "description": "HTTPS presentation image."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 500 Wix categories or collections per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/connect": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Connect a Wix instance to an existing SellViaApp Dashboard account.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_connect",
                "x-auth-level": "public",
                "security": [],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Email used to sign in to the SellViaApp Dashboard."
                                    },
                                    "password": {
                                        "type": "string",
                                        "description": "Verified once and never stored by the connector."
                                    },
                                    "instance_id": {
                                        "type": "string",
                                        "description": "Stable Wix installation identifier."
                                    }
                                },
                                "required": [
                                    "email",
                                    "password",
                                    "instance_id"
                                ]
                            },
                            "example": {
                                "email": "customer@example.com",
                                "password": "ChangeMe123!",
                                "instance_id": "example-id"
                            }
                        }
                    }
                }
            }
        },
        "/wix/customers/redact": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Redact one or more synchronised Wix contacts.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_customers_redact",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "all": {
                                        "type": "boolean",
                                        "description": "Redact all contacts originating from Wix."
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "External Wix identifiers to redact when all is false."
                                    }
                                }
                            },
                            "example": {
                                "all": true,
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/customers/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Synchronise Wix contacts without sending email.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_customers_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Wix contact identifier."
                                                },
                                                "username": {
                                                    "type": "string",
                                                    "description": "Email or fallback username."
                                                },
                                                "active": {
                                                    "type": "boolean",
                                                    "description": "true for synchronised contacts."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "username"
                                            ]
                                        },
                                        "description": "Up to 250 contacts; no SellViaApp email is sent."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/disconnect": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Revoke the connector token and disconnect Wix.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_disconnect",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/wix/orders/acknowledge": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Record the result of a Wix order reconciliation.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_orders_acknowledge",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "order_guid": {
                                                    "type": "string",
                                                    "description": "SellViaApp order GUID."
                                                },
                                                "external_order_id": {
                                                    "type": "string",
                                                    "description": "Linked Wix order identifier."
                                                },
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "imported",
                                                        "failed",
                                                        "ignored"
                                                    ],
                                                    "description": "imported | failed | ignored"
                                                },
                                                "error": {
                                                    "type": "string",
                                                    "description": "Readable error when processing fails."
                                                }
                                            },
                                            "required": [
                                                "order_guid",
                                                "status"
                                            ]
                                        },
                                        "description": "Reconciliation results."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/orders/feed": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Read SellViaApp orders to reconcile with Wix.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_wix_orders_feed",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Opaque cursor from the previous page.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "required": false,
                        "description": "Optional ISO 8601 date.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "example": "2026-10-27T16:00:00Z"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "1–100",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "unacknowledged_only",
                        "in": "query",
                        "required": false,
                        "description": "Defaults to true to prevent duplicates.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/wix/privacy/shop-redact": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Remove Wix-origin data after uninstall.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_privacy_shop_redact",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/wix/products/archive": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Archive deleted Wix products.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_products_archive",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "entity_type": {
                                        "type": "string",
                                        "enum": [
                                            "product",
                                            "category",
                                            "subcategory"
                                        ],
                                        "description": "product | category | subcategory"
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "External Wix identifiers to archive."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "entity_type": "product",
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/products/inventory": {
            "patch": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Quickly update Wix prices, inventory or visibility.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "patch_wix_products_inventory",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "Lightweight price, inventory or visibility updates."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/products/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Synchronise Wix products with images, prices, inventory and visibility.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_products_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Wix product or variant identifier."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent product of a variant."
                                                },
                                                "sku": {
                                                    "type": "string",
                                                    "description": "SKU"
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Product title."
                                                },
                                                "regular_price": {
                                                    "type": "number",
                                                    "description": "Regular price."
                                                },
                                                "sale_price": {
                                                    "type": "number",
                                                    "description": "Active sale price."
                                                },
                                                "stock_quantity": {
                                                    "type": "integer",
                                                    "description": "Available stock."
                                                },
                                                "images": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "Up to five HTTPS images."
                                                },
                                                "visible": {
                                                    "type": "boolean",
                                                    "description": "Visibility in SellViaApp."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 250 Wix products or variants per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/wix/sync/logs": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "View the isolated Wix synchronisation log.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_wix_sync_logs",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/wix/webhooks/delete": {
            "delete": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Disable a Wix connector webhook.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "delete_wix_webhooks_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Webhook ID"
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/wix/webhooks/list": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "List SellViaApp webhooks for the Wix connector.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_wix_webhooks_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/wix/webhooks/process": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Process pending SellViaApp deliveries for Wix.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_webhooks_process",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum number of deliveries."
                                    }
                                }
                            },
                            "example": {
                                "limit": 1
                            }
                        }
                    }
                }
            }
        },
        "/wix/webhooks/subscribe": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Create a signed SellViaApp destination for the Wix connector.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_wix_webhooks_subscribe",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "target_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "HTTPS URL of the receiving system."
                                    },
                                    "events": {
                                        "type": "array",
                                        "items": {},
                                        "description": "order.created | order.updated | order.cancelled | *"
                                    }
                                },
                                "required": [
                                    "target_url"
                                ]
                            },
                            "example": {
                                "target_url": "https://example.com/resource",
                                "events": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/categories/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Batch-sync WooCommerce categories and subcategories.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_categories_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable WooCommerce identifier."
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Visible name."
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent category identifier."
                                                },
                                                "sort_order": {
                                                    "type": "integer",
                                                    "description": "Display order."
                                                },
                                                "images": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "Up to five HTTPS URLs."
                                                },
                                                "active": {
                                                    "type": "boolean",
                                                    "description": "false archives the category."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 500 categories. Each object uses external_id, name and, for a subcategory, parent_external_id."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/customers/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Create or update WooCommerce customer accounts without sending email.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_customers_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable WooCommerce user identifier."
                                                },
                                                "username": {
                                                    "type": "string",
                                                    "description": "WooCommerce username preserved exactly in client.login."
                                                },
                                                "email": {
                                                    "type": "string",
                                                    "format": "email",
                                                    "description": "Customer email address used for deduplication."
                                                },
                                                "first_name": {
                                                    "type": "string",
                                                    "description": "Customer first name."
                                                },
                                                "last_name": {
                                                    "type": "string",
                                                    "description": "Customer last name."
                                                },
                                                "company": {
                                                    "type": "string",
                                                    "description": "Company or business name."
                                                },
                                                "phone": {
                                                    "type": "string",
                                                    "description": "Phone number."
                                                },
                                                "vat_number": {
                                                    "type": "string",
                                                    "description": "VAT number."
                                                },
                                                "language": {
                                                    "type": "string",
                                                    "description": "Two-letter language; English by default."
                                                },
                                                "billing": {
                                                    "type": "object",
                                                    "additionalProperties": true,
                                                    "description": "Full WooCommerce billing address."
                                                },
                                                "shipping": {
                                                    "type": "object",
                                                    "additionalProperties": true,
                                                    "description": "Shipping address retained in synchronisation metadata."
                                                },
                                                "active": {
                                                    "type": "boolean",
                                                    "description": "Account active state."
                                                },
                                                "send_email": {
                                                    "type": "boolean",
                                                    "description": "Must remain false. This route never sends email."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "username"
                                            ]
                                        },
                                        "description": "Up to 250 customer accounts per batch. No email is sent."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/orders/acknowledge": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Confirm that an order was imported into WooCommerce.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_orders_acknowledge",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "order_guid": {
                                                    "type": "string",
                                                    "description": "SellViaApp GUID returned by the feed."
                                                },
                                                "external_order_id": {
                                                    "type": "string",
                                                    "description": "WooCommerce order identifier."
                                                },
                                                "status": {
                                                    "type": "string",
                                                    "enum": [
                                                        "imported",
                                                        "failed",
                                                        "ignored"
                                                    ],
                                                    "description": "imported | failed | ignored"
                                                },
                                                "error": {
                                                    "type": "string",
                                                    "description": "Explanation when import failed."
                                                }
                                            },
                                            "required": [
                                                "order_guid",
                                                "status"
                                            ]
                                        },
                                        "description": "Orders processed by WooCommerce."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/orders/feed": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Retrieve confirmed orders with cursor-based reconciliation.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_woocommerce_orders_feed",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "cursor",
                        "in": "query",
                        "required": false,
                        "description": "Opaque cursor returned by the previous response.",
                        "schema": {
                            "type": "string"
                        },
                        "example": "example"
                    },
                    {
                        "name": "updated_since",
                        "in": "query",
                        "required": false,
                        "description": "ISO 8601 starting date.",
                        "schema": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "example": "2026-10-27T16:00:00Z"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "1 to 100 orders.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "unacknowledged_only",
                        "in": "query",
                        "required": false,
                        "description": "Defaults to true to prevent duplicates.",
                        "schema": {
                            "type": "boolean"
                        },
                        "example": true
                    }
                ]
            }
        },
        "/woocommerce/products/archive": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Batch-archive deleted WooCommerce products without changing orders.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_products_archive",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "entity_type": {
                                        "type": "string",
                                        "enum": [
                                            "product",
                                            "category",
                                            "subcategory"
                                        ],
                                        "description": "product | category | subcategory"
                                    },
                                    "items": {
                                        "type": "array",
                                        "items": {},
                                        "description": "List of up to 500 external identifiers."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "entity_type": "product",
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/products/inventory": {
            "patch": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Quickly update prices, promotions, stock or visibility only.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "patch_woocommerce_products_inventory",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Previously synchronised product."
                                                },
                                                "stock_quantity": {
                                                    "type": "integer",
                                                    "description": "New quantity."
                                                },
                                                "regular_price": {
                                                    "type": "number",
                                                    "description": "New regular price."
                                                },
                                                "sale_price": {
                                                    "type": "number",
                                                    "description": "New sale price."
                                                },
                                                "active": {
                                                    "type": "boolean",
                                                    "description": "New visibility."
                                                }
                                            },
                                            "required": [
                                                "external_id"
                                            ]
                                        },
                                        "description": "Up to 500 lightweight updates."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/products/sync": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Sync products, variations, images, prices, VAT, stock and visibility.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_products_sync",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "items": {
                                        "type": "array",
                                        "items": {
                                            "type": "object",
                                            "additionalProperties": true,
                                            "properties": {
                                                "external_id": {
                                                    "type": "string",
                                                    "description": "Stable WooCommerce identifier used for deduplication."
                                                },
                                                "type": {
                                                    "type": "string",
                                                    "enum": [
                                                        "simple",
                                                        "variable",
                                                        "variation"
                                                    ],
                                                    "description": "simple | variable | variation"
                                                },
                                                "parent_external_id": {
                                                    "type": "string",
                                                    "description": "Parent product for a variation."
                                                },
                                                "sku": {
                                                    "type": "string",
                                                    "description": "SKU; a fallback code is generated when omitted."
                                                },
                                                "name": {
                                                    "type": "string",
                                                    "description": "Product name."
                                                },
                                                "description": {
                                                    "type": "string",
                                                    "description": "Product description."
                                                },
                                                "regular_price": {
                                                    "type": "number",
                                                    "description": "Regular price."
                                                },
                                                "sale_price": {
                                                    "type": "number",
                                                    "description": "Sale price."
                                                },
                                                "date_on_sale_from": {
                                                    "type": "string",
                                                    "format": "date",
                                                    "description": "ISO 8601 sale start."
                                                },
                                                "date_on_sale_to": {
                                                    "type": "string",
                                                    "format": "date",
                                                    "description": "ISO 8601 sale end."
                                                },
                                                "vat_rate": {
                                                    "type": "number",
                                                    "description": "VAT rate."
                                                },
                                                "stock_quantity": {
                                                    "type": "integer",
                                                    "description": "Available stock."
                                                },
                                                "category_external_id": {
                                                    "type": "string",
                                                    "description": "Synchronised primary category."
                                                },
                                                "subcategory_external_id": {
                                                    "type": "string",
                                                    "description": "Synchronised subcategory."
                                                },
                                                "images": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "Up to five HTTPS images."
                                                },
                                                "attributes": {
                                                    "type": "array",
                                                    "items": {},
                                                    "description": "WooCommerce variation attributes."
                                                },
                                                "active": {
                                                    "type": "boolean",
                                                    "description": "Visibility in SellViaApp."
                                                }
                                            },
                                            "required": [
                                                "external_id",
                                                "name"
                                            ]
                                        },
                                        "description": "Up to 250 products or variations per batch."
                                    }
                                },
                                "required": [
                                    "items"
                                ]
                            },
                            "example": {
                                "items": []
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/sync/logs": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "View the technical synchronisation log.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_woocommerce_sync_logs",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "page",
                        "in": "query",
                        "required": false,
                        "description": "Page number, starting at 1.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    },
                    {
                        "name": "per_page",
                        "in": "query",
                        "required": false,
                        "description": "Number of results per page.",
                        "schema": {
                            "type": "integer"
                        },
                        "example": 1
                    }
                ]
            }
        },
        "/woocommerce/webhooks/delete": {
            "delete": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Disable a WooCommerce webhook.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "delete_woocommerce_webhooks_delete",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "id": {
                                        "type": "integer",
                                        "description": "Webhook identifier."
                                    }
                                },
                                "required": [
                                    "id"
                                ]
                            },
                            "example": {
                                "id": 1
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/webhooks/list": {
            "get": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "List active WooCommerce webhooks.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "get_woocommerce_webhooks_list",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "items": [],
                                        "pagination": {
                                            "page": 1,
                                            "per_page": 25,
                                            "total": 0,
                                            "last_page": 1
                                        }
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/webhooks/process": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Process pending webhook deliveries with automatic retries.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_webhooks_process",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "limit": {
                                        "type": "integer",
                                        "description": "Maximum deliveries to process."
                                    }
                                }
                            },
                            "example": {
                                "limit": 1
                            }
                        }
                    }
                }
            }
        },
        "/woocommerce/webhooks/subscribe": {
            "post": {
                "tags": [
                    "Notifications and integrations"
                ],
                "summary": "Register a signed HTTPS WooCommerce webhook.",
                "description": "Mobile notifications and external synchronisation.",
                "operationId": "post_woocommerce_webhooks_subscribe",
                "x-auth-level": "admin",
                "security": [
                    {
                        "ApiKeyAuth": [],
                        "BearerAuth": []
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Resource created",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiSuccess"
                                },
                                "example": {
                                    "success": true,
                                    "message": "Operation successful",
                                    "data": {
                                        "id": 123,
                                        "status": "ok"
                                    },
                                    "error": null
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request or JSON",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Missing or invalid authentication",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Insufficient access",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Requested resource not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict with existing data",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Parameter rejected by validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Request limit reached",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "5xx": {
                        "description": "Temporary technical incident",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiError"
                                },
                                "example": {
                                    "success": false,
                                    "message": "The request cannot be processed.",
                                    "data": null,
                                    "error": {
                                        "code": "VALIDATION_ERROR",
                                        "category": "validation",
                                        "message": "Check the indicated parameters.",
                                        "details": {
                                            "field": "parameter_name"
                                        }
                                    }
                                }
                            }
                        }
                    }
                },
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "additionalProperties": true,
                                "properties": {
                                    "target_url": {
                                        "type": "string",
                                        "format": "uri",
                                        "description": "Public HTTPS URL; private networks are rejected."
                                    },
                                    "events": {
                                        "type": "array",
                                        "items": {},
                                        "description": "order.created | order.updated | order.cancelled | *"
                                    }
                                },
                                "required": [
                                    "target_url"
                                ]
                            },
                            "example": {
                                "target_url": "https://example.com/resource",
                                "events": []
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKeyAuth": {
                "type": "apiKey",
                "in": "header",
                "name": "X-API-Key",
                "description": "Supplier API key available in Dashboard > API."
            },
            "BearerAuth": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "SellViaApp integration or customer token"
            }
        },
        "schemas": {
            "ApiSuccess": {
                "type": "object",
                "additionalProperties": true,
                "description": "Successful JSON response. The exact data fields depend on the endpoint.",
                "properties": {
                    "success": {
                        "type": "boolean",
                        "example": true
                    },
                    "data": {
                        "type": [
                            "object",
                            "array",
                            "null"
                        ]
                    }
                }
            },
            "ApiError": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                    "success",
                    "message"
                ],
                "properties": {
                    "success": {
                        "type": "boolean",
                        "const": false
                    },
                    "code": {
                        "type": "string",
                        "example": "VALIDATION_ERROR"
                    },
                    "message": {
                        "type": "string",
                        "example": "The request could not be processed."
                    },
                    "details": {
                        "type": [
                            "object",
                            "array",
                            "null"
                        ]
                    }
                }
            }
        }
    }
}
